2014-01-15 46 views
1

刪除禁用屬性:無法從按鈕

$(document).ready(function() { 
    $('input[name="tesztinput1"]').keyup(function(){ 
      alert('Content has been changed'); 
      if ($(this).val()) 
      { 
      $('input[name="tesztinput3"]').removeAttr('disabled'); 
      } 
     }) 
}); 

而在HTML:

<input name="tesztinput1" type="text"/> 
<input name="tesztinput3" type="button" disabled="disabled" value="Click"/> 

它正常工作,如果我想刪除禁用屬性的元素是一個文本輸入,但沒有按鈕和提交元素。任何想法?

所以這部分代碼本身似乎沒問題我在最近的答案中測試了每個建議,但沒有結果。還有什麼可以阻止我執行這樣的動作?

+2

[無法重現](http://jsfiddle.net/j3BvF/)。 –

+0

它應該工作,但首選的方法是使用道具代替:'$('input [name =「tesztinput3」]')。prop('disabled',false);' –

+0

您的代碼*已經有效*。如果沒有,那麼你還有其他的事情,你沒有把它包括在問題中。你檢查了瀏覽器控制檯是否有錯誤? – Pointy

回答

2

使用.prop()

要禁用

$('input[name="tesztinput3"]').prop('disabled', true); 

要啓用

$('input[name="tesztinput3"]').prop('disabled', false); 

DEMO

又讀.prop() vs .attr()

+0

不,我也試過它:/ –

+0

@enricko所以你的錯誤是其他地方... –

+0

@enricko,看看它的演示。你的問題在別的地方 – Satpal

0

嗯,我沒有成功解決這個問題,但我發現了一個解決方法:我使用readonly而不是禁用,因爲它能正常工作。