0

選択オプションを使用して、チェックボックスが含まれている <*div> を表示しようとしていますが、機能していません。

ここに私のスクリプトがあります

jquery

   $(document).ready(function() {
       $(".feeschedule1").hide();
       $(".feeschedule2").hide();
       $("#select").change(function(){
           var feeschedule1 = $(".feeschdule1");
           var feeschedule2 = $(".feeschdule2");
           var select = $("#select").val();

        if (select == $("#nd1f")){

            feeschedule1.show();
        }
        }else{

            feeschedule1.hide();
        }
        if (select == $("#nd2f")){

            feeschedule2.show();
        }
        }else{
            feeschedule2.hide();

        })


    });

HTML

<form action="" method="">
    <select id="select">
        <option id="nd1f" value="nd1fulltime">ND1 FULL TIME</option>
        <option id="nd2f" value="nd2fulltime">ND2 FULL TIME</option>
    </select>
    <div class="feeschedule1">
        <tr>
            <td><label for="schoolfees">SCHOOL FEES ND1 FULL TIME</label></td>
            <td><input type="checkbox" value="15000" ></td>
        </tr>
    </div>
    <div class="feeschedule2">
        <tr >
            <td ><label for="schoolfees">SCHOOL FEES ND2 FULL TIME</label></td>
            <td><input type="checkbox" value="15000" ></td>
        </tr>
    </div>
</form> 

<*div> は問題なく非表示になりますが、選択時に表示されません。私が正しくしていないことはありますか?

4

3 に答える 3

1

おそらく、これを行うことができるより動的な方法があります。
次のような繰り返しコードがたくさんあるようです。

if (select == $("#nd2f")){

if繰り返しステートメントを使用したくありません。より良い方法は、次を使用することです。

<select class="select" onchange="javascript:myfunction(this.value)">

次に、動的JavaScript:

options = [ 'nd1fulltime', 'nd2fulltime' ];
schedules = [ '.feeschedule1', '.feeschedule2' ];

function myfunction(choice) {
    for (i in options) {
        if (choice == options[i]) {
            $(schedules[i]).show();
        }
        else {
            $(schedules[i]).hide();
        }
    }
}
于 2013-03-08T13:42:28.793 に答える
0

これを試して:

        if (select == "nd1fulltime"){

         feeschedule1.show();
        }else{
        feeschedule1.hide();
        }
        if (select == "nd2fulltime"){

        feeschedule2.show();
        }else{
        feeschedule2.hide();


        });

if (select == $("#nd1f")) によって、要素と比較しています。必要なのは、要素の値を比較することです。

$("#nd1f")その値が一致する必要はありません...

于 2013-03-08T13:37:23.813 に答える