jQuery成功:函数{}问题
我在页面上有几个“选择”元素。当我选择一些选项时,ajax请求被发送到服务器,与这个“select”相邻的元素必须用response值更新。我希望以下代码能够正常工作:jQuery成功:函数{}问题,jquery,ajax,select,Jquery,Ajax,Select,我在页面上有几个“选择”元素。当我选择一些选项时,ajax请求被发送到服务器,与这个“select”相邻的元素必须用response值更新。我希望以下代码能够正常工作: $(".vars").live("change", function() { //selected something in <select> list $.ajax({ type: "POST", url "someurl.php", data: {somed
$(".vars").live("change", function() { //selected something in <select> list
$.ajax({
type: "POST",
url "someurl.php",
data: {somedata},
success: function(html) {
$this.next().html(html); //this does not update .next() element.
}
});
});
与
我可以看到ajax请求成功了。此外,只有当页面上只有一个“选择”时,它才起作用,否则会出现空的弹出窗口。$(“.vars”).live(“change”,function(){//在列表中选择了一些内容
$(".vars").live("change", function() { //selected something in <select> list
var $this = $(this);
$.ajax({
type: "POST",
url "someurl.php",
data: {somedata},
success: function(html) {
$this.next().html(html); //this does not update .next() element.
}
});
});
var$this=$(this);
$.ajax({
类型:“POST”,
url“someurl.php”,
数据:{somedata},
成功:函数(html){
$this.next().html(html);//这不会更新.next()元素。
}
});
});
我相信“this”不是您在回调中引用时所认为的。试试这个:
$(".vars").live("change", function() { //selected something in <select> list
var $driver = $(this);
$.ajax({
type: "POST",
url "someurl.php",
data: {somedata},
success: function(html) {
$driver.next().html(html); //this does not update .next() element.
}
});
});
$(“.vars”).live(“更改”,function(){//在列表中选择了一些内容
变量$driver=$(此);
$.ajax({
类型:“POST”,
url“someurl.php”,
数据:{somedata},
成功:函数(html){
$driver.next().html(html);//这不会更新.next()元素。
}
});
});
谢谢大家,但是如果有几个“select”元素,“html”响应结果是空的。无论如何,现在我们离解决方案更近了,因为终于触发了正确的元素。但它看起来像服务器端代码中的某个错误,所以这个问题必须标记为“已回答”。对于下面的评论,要获取/设置选择框的所选选项,请使用.val()而不是.html()。希望有帮助
$(".vars").live("change", function() { //selected something in <select> list
var $this = $(this);
$.ajax({
type: "POST",
url "someurl.php",
data: {somedata},
success: function(html) {
$this.next().html(html); //this does not update .next() element.
}
});
});
$(".vars").live("change", function() { //selected something in <select> list
var $driver = $(this);
$.ajax({
type: "POST",
url "someurl.php",
data: {somedata},
success: function(html) {
$driver.next().html(html); //this does not update .next() element.
}
});
});