2013-12-14 114 views
1

我有這個JQuery腳本,需要用戶檢查複選框才能夠輸入文本框。一旦複選框被選中,我想要自動選擇文本框,而不是手動。一旦複選框被選中自動選擇文本框

這是jQuery代碼

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#threadTitleCheckbox').click(function(){ 
     if($(this).is(":checked")) 
     $("#threadTitleCheck").removeAttr("disabled"); 
     else 
     $("#threadTitleCheck").attr("disabled" , "disabled"); 
    }); 
    }); 
    </script> 

這是複選框

<dl class="ctrlUnit fullWidth"> 
     <dd><input type="checkbox" id="threadTitleCheckbox" name="threadTitleCheckbox" /><font style="margin-left:5px;">I believe {$forum.title} is the best forum for this topic.</font></dd> 
</dl> 

這個HTML代碼文本框

<dt><label for="threadTitleCheck">{xen:phrase title}:</label></dt> 
<dd><input type="text" name="threadTitleCheck" class="textCtrl titleCtrl" id="threadTitleCheck" maxlength="100" autofocus="true" disabled placeholder="{xen:phrase thread_title}..." value="{$title}" 
       data-liveTitleTemplate="{xen:phrase create_thread}: <em>%s</em>" /></dd> 

回答

6
$(document).ready(function(){ 
    $('#threadTitleCheckbox').on('change', function(){ 
     $("#threadTitleCheck").prop("disabled", !this.checked).focus(); 
    }); 
}); 

的HTML代碼FIDDLE

+0

我正在朝這個方法前進,但由於某種原因在FF中,如果輸入中有一個值,它不會像在Chrome中那樣被選中(突出顯示)。 – j08691

+1

@ j08691 - 這很奇怪,它在FF中似乎適用於我? – adeneo

+0

嗯。因此,在http://jsfiddle.net/82QHn/中,如果選中複選框,foo的值將變爲高亮顯示?奇怪,不適合我。儘管在Chrome中工作。 – j08691