代码之家  ›  专栏  ›  技术社区  ›  tree em

是否使用jquery更新多重选择中的选定值?

  •  0
  • tree em  · 技术社区  · 15 年前

    这是我检查选中哪些复选框的功能。

    function updateTagChecked() {
             var list_tag_selected = [];//to store the value of checkboxs selected.
         $('input[name=tag]:checked').each(function() {
             list_tag_selected.push($(this).val());
            });
         $('#tag_checked').val(list_tag_selected.join("&"))//Append this list to hidden field
    
        }
        //When are checkbox are click?
        $(function() {
             $('#collapse_option input').click(updateTagChecked);
             updateTagChecked();
         });
    

    我想为多重选择做同样的事情

    <div id collapse_option>
        <li><label for="id_city">City:</label> 
       <select multiple="multiple" name="city" id="id_city">
        <option value="1">Phnom Penh</option>
        <option value="2">Takeo</option>
        <option value="3">Kampot</option>
        <option value="4">Kampongthom</option>
        <option value="5">Siemreip</option>
        <option value="6">pursat</option>
        <option value="7">preyveng</option>
        </select></li>
      </div>
    <input type="hidden" id="store_multiselected" name="store_multiselected" value=""/>
    

    在多选模式下,我们能做到这一点吗?正如我上面提到的,我想在隐藏字段中存储多选中每个选定项的值。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Rob Van Dam    15 年前

    当它是多重选择时,val()已经是一个列表:

    function updateTagChecked() {
        var list_tag_selected = $('#id_city').val();     // first pull values from multiselect
        $('input[name=tag]:checked').each(function() {
            list_tag_selected.push($(this).val());       // then from other checkboxes
        });
    
        //Append this list to hidden field
        $('#tag_checked').val(list_tag_selected.join("&"));
    }
    
    //When are checkbox are click?
    $(function() {
         $('#collapse_option input').click(updateTagChecked);
         updateTagChecked();
    });
    
        2
  •  1
  •   Joel    15 年前

    是的,只需使用选择器 select[name=city] option[selected] 而不是 input[name=tag]:checked .