复选框状态基于文本字段值

时间:2013-01-19 04:23:54

标签: jquery

我有一个搜索表单,其中包含许多带有class ='cambio'的复选框,以及一个ID为#cambio的隐藏字段。

表单的工作原理如下:

  1. 选中复选框后,其值将发送到此隐藏输入。
  2. 此隐藏输入默认情况下处于禁用状态,仅在设置了值时才会启用。
  3. 我使用$ _GET ['cambio']获取此字段的默认值,因此我可以在页面加载时保持表单更新。
  4. 问题是当我加载页面时,我在隐藏的输入上得到了默认值,但相关的复选框都未选中。

    我的问题是:如果隐藏输入中存在值,我怎样才能将这些复选框设置为'已选中'?

    这是我的代码:

    jQuery(function($) {
    $("input:checkbox.cambio").change(function() {
        var newArr = $("input:checkbox.cambio:checked").map(function() { return this.value; });
        $("#cambio").val(newArr.get());
    
        if($('#cambio').val() !== "") {
        $('#cambio').prop('disabled', false);
        } else { $('#cambio').prop('disabled', true); }
    });
    });
    
    jQuery(document).ready(function($) {
        if($('#cambio').val() !== "") {
        $('#cambio').prop('disabled', false);
        } else { $('#cambio').prop('disabled', true); }
    });
    

    请注意,有一些重复的代码。如果您知道如何减少代码,欢迎提出每个建议。

    谢谢!

0 个答案:

没有答案