javascript - jQuery .prop ("disabled", false) 没有启用输入

标签 javascript jquery html jquery-mobile cordova

我在页面加载时禁用输入后重新启用输入时遇到问题。

我正在使用两个输入来接受两个日期,但我希望在第一个输入有值之前不启用第二个输入。

<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

最佳答案

前段时间遇到同样的问题:

$("#date1-end").prop("disabled", null);

@Gautam3164 的回答也不错。

关于javascript - jQuery .prop ("disabled", false) 没有启用输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17469077/

相关文章:

javascript - 如何使用cheerio的nodeJS从div标签获取值

javascript - 检查窗口是否存在,如果是,则在 jQuery Plugin 中更改为 document

javascript - JS - 动态 Href 更改

javascript - 在带有 Ajax 的 javascript 中使用 'this'

javascript - 如何根据可用空间更改工具提示位置

javascript - 如何让车子朝怪物方向行驶

javascript - 通过 JavaScript 和回发启用后,ListBox 中的选定项目不正确

javascript - 如何在 Sencha/Ext JS 中下载 Excel 文件?

javascript - 您如何编写从数组返回值的函数?

html - 如何从 css 继承中排除标签(:not is not working)