2014-03-24 60 views
3

我有一個複選框添加和刪除服務。目前,它看起來像這樣:使用鏈接而不是複選框啓用/禁用複選框

<div class="cknow" align="center" valign="top">Add/Remove to Checkout 
    <input type="checkbox" id="ckNow_<?php echo $i;?>" name="ckNow[<?php echo $i;?>]"></input> 
</div> 

我也得到了一個腳本,這樣說:

$('input[id^=ckNow_]').each(function(){ 
    $(this).bind('click',function(){ 
     if($(this).attr('checked')) 
     {.... does some stuff } 

它作爲一個複選框偉大的工作,但我想給使文本「添加/ Remove'作爲文本鏈接(沒有複選框的輸入框),這樣當單擊Add時,它將註冊爲CHECKED,並且單擊Remove時,它將註冊爲UNCHECKED。

我該怎麼做?

回答

3

可以使用label元素將文本分配到複選框,然後使用CSS來隱藏,像這樣的複選框:

HTML

<label>Add/Remove 
    <input type="checkbox" id="ckNow_" name="ckNow" class="hideme"> 
    </input> 
</label> 

CSS

.hideme { 
    display:none; 
} 
+0

我想加入是一個文本鏈接,刪除是另一個,無論是連接到相同的複選框.. 。所以如果單擊添加,複選框被視爲選中,如果單擊刪除,複選框被視爲未選中。 – user1172854

+0

這是一個很好的原生解決方案,但它不像JS解決方案那樣可調。 – andlrc

+0

@ user1172854然後你可能想在這裏重新考慮你的設置。不要使用複選框,只需使用錨點元素並根據您點擊的元素進行操作。 –

1

您可以使用:

$('[type=checkbox]').attr('checked', true); // or false 

注:jQuery的1.7,你應該使用.prop('checked', ...)代替:

$('[type=checkbox]').prop('checked', true); // or false 
+0

感謝您的提醒! – user1172854