Javascript ajax之后如何在selectbox中更新选项属性?
我有一个选择框,用户可以在其中选择一个填充文本框的值,用户可以使用Ajax编辑该值。 选择框中的每个选项都有一个id和一个数据关键属性。我使用JQuery“change”事件处理程序用关键数据中的值填充文本框Javascript ajax之后如何在selectbox中更新选项属性?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个选择框,用户可以在其中选择一个填充文本框的值,用户可以使用Ajax编辑该值。 选择框中的每个选项都有一个id和一个数据关键属性。我使用JQuery“change”事件处理程序用关键数据中的值填充文本框 <select id="actions"> <option id="p0" data-critical="100" value="0">Optie 0</option> <option id="p1" data-critical="120
<select id="actions">
<option id="p0" data-critical="100" value="0">Optie 0</option>
<option id="p1" data-critical="120" value="1">Optie 1</option>
</select>
<input type="text" id="editcritical" />
$("#actions").change(function() {
var selected = $(this).find('option:selected');
$("#editcritical").val(selected.data('critical'));
});
ajax-success: function(data){
$("#p" + data.p.id).attr("data-critical", data.p.critical);
}
在Ajax成功时,数据关键值会发生更改,但当我再次选择该选项时,旧值会显示在文本框中。我试着用现场的方法,但什么也没发生。Firebug在关键数据中显示更新的值
<select id="actions">
<option id="p0" data-critical="100" value="0">Optie 0</option>
<option id="p1" data-critical="120" value="1">Optie 1</option>
</select>
<input type="text" id="editcritical" />
$("#actions").change(function() {
var selected = $(this).find('option:selected');
$("#editcritical").val(selected.data('critical'));
});
ajax-success: function(data){
$("#p" + data.p.id).attr("data-critical", data.p.critical);
}
有没有在文本框中显示更新后的值的建议?您是否尝试过:
$("#editcritical").attr("data-critical");
?您是否尝试过:
$("#editcritical").attr("data-critical");
?
在成功功能中,您应该尝试:
success: function(data){
$("#p" + data.p.id).data("critical", data.p.critical);
}
阅读了解更多
在成功功能中,您应该尝试:
success: function(data){
$("#p" + data.p.id).data("critical", data.p.critical);
}
阅读了解更多信息。我可以从关键数据获取并更新值。问题是,当在Ajax调用后更改了数据关键值,并且我使用更新的数据关键值再次选择该选项时,文本框中显示的是旧值而不是新值。您的进一步代码是否在Ajax调用的.done/.success方法中?这就是为什么您应该替换$editcritical.valselected.data'critical';使用$editcritical.attrdata-critical;正如建议的那样。@Abhijit:editcritical没有attr“data critical”,data critical是selectbox@cooxie很抱歉,我没有注意到select或option的id,只是指使用attr而不是data。我可以从data critical获取并更新值。问题是,当在Ajax调用后更改了数据关键值,并且我使用更新的数据关键值再次选择该选项时,文本框中显示的是旧值而不是新值。您的进一步代码是否在Ajax调用的.done/.success方法中?这就是为什么您应该替换$editcritical.valselected.data'critical';使用$editcritical.attrdata-critical;正如建议的那样。@Abhijit:editcritical没有attr“data critical”,data critical是selectbox@cooxie对不起,我没有注意到select或option的id,只是指使用attr而不是数据。请发布更改数据关键型的ajax代码。请发布更改数据关键型的ajax代码。我尝试过,但没有。我可以用关键数据属性中的值设置文本框,但只能设置未更新的值。好的,上次更新成功了!谢谢你知道为什么用attr代替数据是错误的吗?@cooxie我在我的问题中分享了一个链接,请注意我试过了,但没有。我可以用关键数据属性中的值设置文本框,但只能设置未更新的值。好的,上次更新成功了!谢谢你知道为什么用attr代替data是错误的吗?@cooxie我在我的问题中分享了一个链接,请看