0

我有一段 jQuery 代码,用于检查是否未选中复选框。如果不是,它会引发一个事件。这里是:


$('#Button').click(function() {
        if(!$('input[@name=\"image_id\"]:checked').val()){
            //Do Something
            return false;
            }
});

它很好用,但我决定使用jQuery Checkbox插件设置默认复选框的样式。

现在问题来了,这是样式化后的输出:

<input type="radio" name="answer_id" value="37" style="position: absolute; z-index: -1; visibility: hidden;">`
<span class="jquery-safari-checkbox jquery-safari-checkbox-checked"><span class="mark"><img src="empty.png"></span></span>

因此让我无法查看是否检查了输入。关于我能做什么(如果有的话)的任何想法还是我应该恢复到旧的复选框?

4

2 回答 2

1

在我看来,这样做有点混乱,但是:

if($(".jquery-safari-checkbox").hasClass("jquery-safari-checkbox-checked")){
   //Do something
   return false;
}
于 2013-02-28T18:50:45.023 回答
1

你不必做任何特别的事情。原始复选框仍然存在并保持其状态。当您单击花哨的复选框时,插件会更新隐藏的复选框以匹配当前状态。

如果您使用最新的 jQuery,您也可以稍微更新您的代码。您的代码已经过时了:

$('#Button').click(function () {
    if (!$('input[name=image_id]').prop('checked')) {
        //Do something
        return false;
    }
});

演示:http: //jsfiddle.net/k2d6E/

于 2013-02-28T19:08:47.937 回答