2012-08-01 113 views
1

通常他們會做另一件事:啓用/禁用複選框選中/取消選中時的文本輸入字段,但僅當用戶在文本字段中輸入某些文本時需要啓用複選框組(平日) (開始日期)。因此,在用戶未在輸入字段中鍵入開始日期時,複選框仍然必須禁用。在其他文本輸入字段中輸入文本時啓用複選框

我認爲我需要回到動作比這裏:http://jsfiddle.net/H8VPY/11/

請大家幫我選對jQuery的事件。

回答

2

您可以使用prop()方法和keyup事件處理程序。請嘗試以下操作:

$('input[name=other_name]').keyup(function(){ 
    if (this.value.length > 0) { 
     $('input[name="others"]').prop('disabled', false) 
    } else { 
     $('input[name="others"]').prop('disabled', true)  
    } 
}) 

DEMO

或Esailija正確建議你可以用更短的版本:

$('input[name=other_name]').keyup(function(){ 
    $('input[name="others"]').prop('disabled', !this.value.length) 
}) 
+1

'$( '輸入[名稱= 「他人」]')丙( 'disabled',!this.value.length)'也可以工作 – Esailija 2012-08-01 17:57:07

+0

非常棒,謝謝Raminson和Esailija,你的答案解決了問題。 現在我想用紅色給這個文本輸入加上顏色(添加一些css類),當用戶嘗試選中複選框並且不能這樣做時會導致它被禁用。或者在複選框旁邊提示一些消息。 或者我不能這樣做,因爲複選框被禁用,所有事件都不能使用它? – almix 2012-08-01 18:58:57

+0

@almix歡迎您,這樣的事情? http://jsfiddle.net/H8VPY/49/ – undefined 2012-08-01 19:06:42

0

添加一個類並禁用到您的複選框;

<checkbox class="checkbox_class" disabled > 

在您的文本框中;

<input type="text" onkeyup="javascript: if($(this).val() != '') $('.checkbox_class').enable()" >