我是代码点火器的新手,我在StackOverflow线程的数量上搜索了以下问题,但它们似乎都没有解决我的问题。
我有以下视图代码:
<select name="select1" id="select1">
<option value="0">None</option>
<option value="1">First</option>
</select>
<scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
// Ajax post
$(document).ready(function() {
$("#select1").change(function(event) {
event.preventDefault();
var id = $(this).val();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/mycontroller/method",
dataType: 'json',
data: {id: id},
success: function(res) {
}
});
});
});
</script>
好的,当我更改下拉列表选择时,没有任何反应,实际应该调用我的控制器方法。你能帮我解决这个问题吗?
由于
答案 0 :(得分:5)
您使用的<select>
ID为category
但是在jquery中,你这样称$("#select1").change(function(event)
。
您只需将$("#select1").change(function(event)
更改为
$("#category").change(function(event)
答案 1 :(得分:1)
你的jquery选择器有错误。
您正在使用$("#category").change(function(event) {
//ur code here
});
您的部分中没有以此名称提及的任何ID。
@Override
public void onClick(View v) {
int[] attrs = new int[]{R.attr.selectableItemBackground};
TypedArray typedArray = getActivity().obtainStyledAttributes(attrs);
int backgroundResource = typedArray.getResourceId(0, 0);
v.setBackgroundResource(backgroundResource);
switch (v.getId()) {
case ACTION_PLAY_ID:
Log.d(MainActivity.TAG, getString(R.string.detail_action_play));
v.setBackgroundResource(backgroundResource);
Intent intent = new Intent(getActivity(), PlayerActivity.class);
intent.putExtra(Video.VIDEO_TAG, videoModel);
startActivity(intent);
break;
case ACTION_BOOKMARK_ID:
if (bookmarked) {
v.setBackgroundResource(backgroundResource);
deleteFromBookmarks();
((ImageView) v).setImageDrawable(res.getDrawable(R.drawable.star_outline));
} else {
v.setBackgroundResource(backgroundResource);
addToBookmarks();
((ImageView) v).setImageDrawable(res.getDrawable(R.drawable.star));
}
break;
case ACTION_REMINDER_ID:
if (!isReminderSet) {
createReminderDialog((ImageView) v);
} else {
cancelReminder(liveTvProgram.getProgramId());
((ImageView) v).setImageDrawable(res.getDrawable(R.drawable.alarm));
}
break;
}
}
答案 2 :(得分:1)
如果您的脚本包含任何错误,请检入控制台。
如果脚本没有错误,请检查更改后调用的函数,方法是添加alert或console语句。
如果函数被调用,请检查base_url。根据最新评论&#39; /&#39;丢失。
您还可以尝试以下代码段:
//Add J Query Library here
<select name="select1" id="select1" onchange="funName(this);">
<option value="0">None</option>
<option value="1">First</option>
</select>
<script type="text/javascript">
function funName(element)
{
var id = element.value;
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "/index.php/mycontroller/method",
dataType: 'json',
data: {"id" : id},
success: function(res) {
console.log(res);
}
});
}
</script>
答案 3 :(得分:0)
您在jquery代码中使用了id选择器,但该id在html dropdown标记中被称为name属性。请尝试以下代码。
更改以下内容: -
<select name="select1" id="category">
<option value="0">None</option>
<option value="1">First</option>
</select>
<scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
// Ajax post
$(document).ready(function() {
$("#category").change(function(event) {
event.preventDefault();
var id = $(this).val();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/mycontroller/method",
dataType: 'json',
data: {id: id},
success: function(res) {
}
});
});
});