【问题标题】:Radio Button State Not Updating单选按钮状态未更新
【发布时间】:2012-09-12 19:31:38
【问题描述】:

我目前正在整理一个带有各种单选按钮的表单,这些单选按钮的状态可以通过 jQuery / Ajax 保存/调用。返回的 Ajax JSON 数据循环通过并根据返回的值设置单选按钮,这一切都很好,但是如果我然后去更改选定的单选按钮并由于某种原因重新保存数据实际单选按钮值get .serialized() 仍然显示以前的 Ajax 设置值,而不是我更改为的新值。这真的很令人困惑,因为我已经尝试了各种其他测试页面来证明这个概念有效并且没问题。

有没有其他人见过单选按钮在视觉上得到更新,但序列化却没有发现变化?

可以在here 看到我所看到的演示。从下拉菜单中选择一个名称将启动一个填充单选按钮的 Ajax 调用。如果单击 Save 按钮,您将看到 serialize() 单选按钮数据,该数据在 Ajax 发生后不会更改。

我要疯了,想弄清楚为什么这不能正常工作!非常感谢任何帮助。

【问题讨论】:

    标签: ajax jquery-ui serialization radio


    【解决方案1】:

    在花了很多时间试图解决这个问题后,问题出在我正在做的 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);
                    }
    

    希望这对将来的某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-06-12
      • 1970-01-01
      • 2021-10-12
      • 2019-06-08
      • 2014-10-24
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      相关资源
      最近更新 更多