2014-03-24 45 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