0

私はサードパーティのソフトウェアを使用しており、ページのコードを編集する権限はありませんが、Javascript を追加してコンテンツを変更することはできます。このチェックボックス項目のリストをドロップダウン リストに変更するのに役立つソリューションを探しています。Javascript の経験はほとんどありません。前もって感謝します!

<tr>
    <td class="BBFieldCaption DonationFieldCaption">
        <label for="PC4519_214DIV" id="PC4519_lblLgnCtl214">Time Frame of Deduction:</label>
    </td>
    <td id="PC4519_ParentControl214" class="taLeft">
        <DIV id="PC4519_214DIV" class="BBFormChecklistContainer LoginFormCheckListContainer">
            <table id="PC4519_214" class="BBFormChecklist LoginFormCheckList">
                <tr>
                    <td>
                        <input id="PC4519_214_0" type="checkbox" name="PC4519$214$0" value="PD Til Further Notice" />
                            <label for="PC4519_214_0">PD Til Further Notice
                            </label>
                    </td>
               </tr>
               <tr>
                   <td>
                       <input id="PC4519_214_1" type="checkbox" name="PC4519$214$1" value="Seahawk 3 Year Pledge" />
                           <label for="PC4519_214_1">Seahawk 3 Year Pledge
                           </label>
                   </td>
               </tr>
               <tr>
                    ... etc ...
               </tr>
       </table>
    </div>
  </td>
</tr>

4

2 に答える 2

1

最初に行う必要があるのは、select 要素を追加することです。

これが必要なコンテナ要素がわからないので、本文を選択しました。これは必要に応じて変更できます。

$('body').append('<select id="mySelc"></select>'); 

次に、チェックボックスの入力要素をすべて収集します。

var inpts = $('#PC4519_214').find('input[type="checkbox"]');

次に、それらをループして、必要なものを引き出し、select 要素に追加します。

$.each(inpts, function(ii,val){
    var optId = $(val).attr('id'), //pull out the id
        optVal = $(val).attr('value'), //pull out the value
        optData = $(val).attr('name'); // pull out the name. will be used as a data attribute.

    //append to the select element.
    $('#mySelc').append('<option id="'+optId+'" data="'+optData+'" value="'+optVal+'">'+optVal+'</option>');
});

jQuery を使用していると思いますが、必要に応じて純粋な JavaScript でこれを書き直すことができます。

于 2016-10-26T17:44:52.420 に答える