我目前正在整理一个带有各种单选按钮的表单,其状态可以通过jQuery / Ajax保存/调用。返回的Ajax JSON数据循环并根据返回的值设置单选按钮,这一切都正常,但如果我然后去更改选定的单选按钮并由于某种原因重新保存数据实际的单选按钮值get .serialized()仍然显示以前的Ajax设置值而不是我更改为的新值。这真是令人困惑,因为我已经尝试了各种其他测试页来证明这个概念是有效的,而且没关系。
有没有其他人看到过单选按钮在视觉上得到更新,但是序列化没有获取更改?
可以看到我所看到的演示here。从下拉菜单中选择一个名称将启动Ajax调用,该调用将填充单选按钮。如果单击Save按钮,您将看到serialize()单选按钮数据,该数据在Ajax发生后不会更改。
我疯了,想弄清楚为什么这不能正常工作!任何帮助都非常感谢。
丹
答案 0 :(得分:0)
在花了好几个小时试图解决这个问题之后,问题在于我正在做的Ajax成功功能:
$.each(data, function(key,value){
$("[name='" + key + "']").val(value);
});
和
for(var key in data){
$('input#' +key+'-'+data[key]).prop('checked',true);
}
$('input:radio').button("refresh");
这两种情况同时发生并引起混淆。
要解决我需要将第一个操作更改为
for(var key in data){
$('input#' +key+'-'+data[key]).prop('checked',true);
}
希望这将有助于将来的人。
丹