1

私はこのコードを持っています...

 function roundtrip() {
   //alert("Round Trip");
   $("#checkoutdate").prop("disabled", false);
   $("#btncheckoutdate").show();
 }
 function onewaytrip() {
   //alert("One Way Trip");
   $("#checkoutdate").prop("disabled", true);
   $("#btncheckoutdate").hide();
 }

n html コードは

<input type="radio" name="trip_type" id="trip_type" onclick = "return onewaytrip()" value="One_way"> One Way Trip
<input type="radio" name="trip_type" id="trip_type" onclick = "return roundtrip()" checked="checked" value="round_trip"> Round Trip

<label name="depaturedate">Departure Date</label> &nbsp; &nbsp; 
<input id="checkindate" class="font11textbox" type="text" readonly="readonly" style="position: relative;" autocomplete="off" maxlength="12" name="checkindate">
<img id="btncheckindate" border="0" name="btncheckindate" alt="select date" src="images/calendar1.gif">
&nbsp; &nbsp; 
<label name="returndate">Return</label>&nbsp; &nbsp; 
<input id="checkoutdate" class="font11textbox" type="text" readonly="readonly" style="position: relative;" autocomplete="off" maxlength="12" name="checkoutdate">
<img id="btncheckoutdate" border="0" name="btncheckoutdate" alt="select date" src="images/calendar1.gif">
</br>

目的は、カレンダー画像 n を非表示/表示して、それぞれのラジオ ボタンをクリックして入力ボックスを有効/無効にすることです。

しかし、私は次のエラーが発生しています

Uncaught TypeError: Cannot call method 'prop' of null.

それは本当に私を悩ませています。エラーのコードは非常に単純です。ここで合計の助けが必要です。

4

1 に答える 1

2

適切なイベント ハンドラーを使用する方法:

<input type="radio" name="trip_type" id="oneway" value="One_way"> One Way Trip
<input type="radio" name="trip_type" id="roundtrip" value="round_trip" checked> Round Trip

js

jQuery(function($) {
    $('[name="trip_type"]').on('change', function() {
        state = this.checked && this.id == 'oneway';

        $("#checkoutdate").prop("disabled", state);
        $("#btncheckoutdate").toggle(state);
    });
});

フィドル

于 2013-05-27T11:26:20.183 に答える