在页面加载后,我遇到了重新启用已禁用输入的问题。
我使用两个输入框来接受两个日期,但我希望只有当第一个输入框有值时,才启用第二个输入框。
<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>
第二个输入框在页面加载时已成功禁用。
$("#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)
时,可以正常运行而不出现任何错误,但输入仍然无法使用。我正在使用的trigger('change')
是尝试刷新元素,但即使没有它,问题仍然存在。
我尝试了不同版本的Jquery中的不同变体.attr
,但是我仍然遇到了同样的问题。
我正在使用Jquery 1.9.1、Jquery-mobile 1.3.1和PhoneGap 2.7.0