ページの読み込み時に入力が無効になった後、再度有効にする際に問題が発生します。
2 つの日付を受け入れるために 2 つの入力を使用していますが、最初の入力に値が設定されるまで 2 番目の入力が有効にならないようにしたいと考えています。
<div id="date1" data-role="fieldcontain">
<label for="date1-start" id="date1-startlbl">Start Date</label>
<input name="date1-start" id="date1-start" type="date" data-role="datebox"data-options='{"mode": "calbox", "overrideDateFormat": "%Y-%m-%d", "beforeToday": true}' data-theme="a" onchange="showdate()"/>
<label for="date1-end" id="date1-endlbl">End Date</label>
<input name="date1-end" id="date1-end" type="date" data-role="datebox" data-options='{"mode": "calbox", "overrideDateFormat": "%Y-%m-%d", "beforeToday": true}' data-theme="a" onchange="datechart()"/>
</div>
ページの読み込み時に 2 番目の入力が正常に無効化されます。
$("#date1-end").prop("disabled", true);
最初の日付にはonchange
次の関数を呼び出すイベントがあります
function showdate(){
if ($("#date1-start").val() != null){
if ($("#date1-end").val() != ""){
datechart();
}
else{
$("#date1-end").prop("disabled", false);
$("#date1-end").trigger('change');
}
}
}
関数が呼び出され、prop("disabled", false)
到達するとエラーなしで実行されますが、入力は無効のままです。私が使用しているトリガー ('change') は要素を更新しようとするものですが、それがなくても同じ問題が発生します。
.attr
古いバージョンの Jqueryのさまざまなバリエーションを試しましたが、同じ問題が発生します。
私はJquery 1.9.1、Jquery-mobile 1.3.1、PhoneGap 2.7.0を使用しています。
ベストアンサー1
以前も同じ問題がありました:
$("#date1-end").prop("disabled", null);
@Gautam3164 さんの回答も良いですね。