0

我还是 Javascript 和 Jquery 的新手,并且在这方面遇到了一些麻烦。

我希望能够将带有选择选项的字段集(#a)中的值传递给带有复选框选项的另一个字段集(#b)。例如,字段集#a 具有默认选项 1、2、3、4、5。Fieldset #b 可以有更多选项,但至少必须包含来自 #a 的默认值。

字段集#a 的代码片段:

      <fieldset id="a">
        <legend><span>Default Option</span></legend>  
        <div class="fieldset_wrapper">
          <select name="form_default">
            <option value="">Select One</option>
            <%=returnValueMap.get("defaultOptionSelect")%>

          </select>
        </div>
      </fieldset>

字段集#b的代码片段:

         <fieldset id="b">
         <legend><span>Option</span></legend>
            <div class="fieldset_wrapper">
              <div><input type="checkbox" name="select-all" id="select-all" class="checkAll"/>   All Options</div>

        <%=returnValueMap.get("optionSelect")%>

        </div>
      </fieldset>

编辑,这是我尝试过的东西,但我认为我显然遗漏了一些东西。再次,我正在尝试学习这些东西

    $('#a option[name="form_default"]:selected').each(function(){   
                            $('#b input[type="checkbox"]').eq($(this).index()).prop('checked',true);
    });
4

1 回答 1

0
$('#a select').on('change', function(e){
  e.preventDefault()
  $('#b input[type="checkbox"][value="'+$(this).val()+'"]').prop("checked",true);  
})

小解释:

  • 监视更改并在更改时调用函数$('#a select').on('change', function(e){
  • 您在这里并不真正需要它,通常是删除默认行为,例如它可以防止更改链接上的页面:e.preventDefault()
  • 我们在选择框中取选定的值:$(this).val()
  • 我们使用 Type 和 Value 选择相应的复选框,例如:#b input[type="checkbox"][value="value selected in select box"]
  • 选中复选框:.prop("checked",true)

可以帮助你

编辑:如果您想要默认选择的选项,请b在页面加载时转到:

jQuery(function($){
  $('#b input[type="checkbox"][value="'+$('#a select').val()+'"]').prop("checked",true);
});
于 2012-04-20T13:44:51.057 回答