【发布时间】:2013-07-04 11:26:11
【问题描述】:
在页面加载时禁用输入后,我在重新启用输入时遇到问题。
我使用两个输入来接受两个日期,但我希望第二个输入在第一个输入有值之前不启用。
<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
【问题讨论】:
标签: javascript jquery html jquery-mobile cordova