2013-04-29 29 views
0

我目前使用JQM 1.3,並且想要使用javascipt啓用/禁用禁用的文本框。啓用/禁用從功能調用時,文本框不起作用

我的腳本如下:

function enable(){ 
    $(".testText").attr("disabled", false); 
} 

,我的HTML是:

<a onclick="enable();" data-role="button"> Enable textbox </a> 
<input type="text" class="testText" disabled="disabled" /> 

當我測試了上jfiddle;它也不起作用,所以我想知道如果我沒有在正確的時間調用腳本,或者我只是在某個地方做了一些完全錯誤的事情。

jfiddle: http://jsfiddle.net/2ekJF/

我也嘗試啓用/禁用TextBox,如其他方式:

$(".testText").attr("disabled", ""); 
$(".testText").removeAttr("disabled"); 

但沒有奏效。

+0

它工作正常!你有jQuery的頁面? – 2013-04-29 06:00:01

+0

運行它時,會將一些動態內容添加到您的代碼中。除了刪除屬性**禁用**之外,您將不得不做更多的事情。在下面查看我的解決方案。希望它可以幫助你。 – qwerty 2013-04-29 06:29:09

回答

0

您的解決方案是在這裏: TextFieldEnabled

HTML:

<a href="#" onclick="enable();" data-role="button"> Enable textbox </a><input type="text" class="testText" disabled /> 

jQuery的使用:

$("a").click(function(){ 


try{ 
    $(".ui-input-text").removeClass("ui-disabled"); 
    $(".testText").removeClass("mobile-textinput-disabled ui-state-disabled"); 
    $(".testText").attr("aria-disabled",false); 
$(".testText").removeAttr("disabled"); 
} 
catch(e){ alert(e) } 
}) 
+0

謝謝qwerty。那就是訣竅。爲將來希望啓用和禁用的讀者提供了一些更新,並且它的工作。 [鏈接](http://jsfiddle.net/2ekJF/3/) – 2013-04-30 01:08:50

+0

雖然我只是意識到;如果我有多個禁用的文本框會怎麼樣?由於您通過'.ui-input-text'進行選擇,因此可以啓用它們。我嘗試通過'.ui-input-text.testText'選擇,但這不起作用。 [鏈接](http://jsfiddle.net/2ekJF/3/)。對不起,如果這聽起來像一個愚蠢的問題。我仍然不熟悉JQuery來理解一切。 – 2013-04-30 01:37:46

+0

工作的解決方案是將每個文本框包裝在一個div中並按div選擇。 [鏈接](http://jsfiddle.net/2ekJF/5/)。但是,這是最好的方法,還是有一個更清潔的解決方案? – 2013-04-30 02:18:38