1

列ヘッダーにマスター選択リストがあり、その下の列の選択リストを変更する必要があります。

これがマスターです:

 <select class='names header-select flag_pass_ID nsp-select' name='g1_head_select_flag_pass_ID'  onchange='select_all_batch(1, 1, "flag_pass_ID");' >
                        <option selected='selected' value='' ></option>
                        <option value='3' >Flag</option>
                        <option value='4' >Pass</option>
</select>

変更が必要なものは次のとおりです。

<td class='data-edit widget data-select nsp-select flag_pass_ID' id='2503_r2_c8'>
                    <select class='names flag_pass_ID data-select nsp-select'  name='2503_select_table_nsp_status__flag_pass_ID'  onchange='make_input_changed(1);' size=1 >
                        <option selected='selected' value='' ></option>
                        <option value='3' >Flag</option>
                        <option value='4' >Pass</option>
                </select>
</td>

これがと呼ばれる関数です。

    function select_all_batch(grid_NM, current_page_NM, colclass) {
      if ( (typeof input_changed[grid_NM] != 'undefined') && 
               (input_changed[grid_NM] == true) ) {
        alert("Please Save or Cancel your other changes first." );
        return false;
      } else {
        //make_input_changed(grid_NM);
        var selection = $('.header-select.' + colclass + ' option:selected').val();
        $('.flag_pass_ID option[value=selection]').each(function() {
             (this).attr("selected", "selected");
        });
         //$('.flag_pass_ID').each(function() {
         //      (this).val(selection);
         //});
        //$("." + colclass + " option[value=selection]").each(function() {
        //     (this).val(selection);
        //     (this).attr("selected", "selected");
         //});
       return false;
       }
    }

varselectionが値を取得していることを確認しました。

問題は、以下の選択リストで選択したオプションを設定することです。

前もって感謝します。

4

1 に答える 1

1
function select_all_batch (grid_NM, current_page_NM, colclass) {
    var selection = $('.header-select.' + colclass + ' option:selected').val();
    $('.flag_pass_ID select option[value=' + selection + ']').attr('selected', 'selected');
}

これは、順序が同じでなくても、2 番目の選択の値が最初の選択と一致する場合に機能するはずです。

http://jsfiddle.net/EBZG9/

于 2012-08-27T00:19:41.797 に答える