我需要启用文本框,当用户开始打印它时结束禁用按钮时,文本框是空的。如何清除文本框时禁用按钮?
这里是我的文本框和按钮:
<button id="btnSaveLayer" class="ui-btn ui-icon-plus ui-btn-icon-left ui-btn-b" onclick="SaveNewLayer()" disabled>save</button>
<input type="text" id="newLayerName" placeholder="name" value="" />
这里是我使用的代码:
function setElementsDisabled() {
$('#newLayerName').keyup(function() {
if ($(this).val().length != 0)
$('#btnSaveLayer').attr('disabled', false);
else
$('#btnSaveLayer').attr('disabled', true);
})
}
从功能上面可以看到,当用户开始输入文字文本框启用并且当用户从文本框中删除按钮被禁用。
它工作完美!
但是,当我清除按钮编程方式使用此jQuery代码:
$("#newLayerName").val('');
从文本框中的文本被删除,但,未禁用按钮。
任何想法如何更改我的功能setElementsDisabled
,以便当文本框为空时,按钮被禁用?
也许'<'而不是'!='而且你可以做的也是当你触发空按钮的时候也在同一个调用中设置'disabled true'。这样,当某人清除输入时,该按钮会自动阻止。 – hansTheFranz
查看答案我给出如下 –
https://learn.jquery.com/using-jquery-core/faq/how-do-i-disable-enable-a-form-element/ – epascarello