如何测试使用jQuery检查至少一个复选框

时间:2014-04-02 06:06:36

标签: php jquery node.js drupal checkbox

我正在尝试设置条件用户在页面上选择至少一种语言这里是我的jQuery代码

 $(".a_orignal").click(function(){
    var checked = $(".a_orignal input:checked").length > 0;
    if (!checked){
      alert('You can select at least one Languages!!');
            return false;
            }
});

我的php代码是:

print "<div id='outer_menu'>";
$value1_node = ($content['field_translation']['#items'][0]['value']);
$value2_node = ($content['field_translation']['#items'][1]['value']);
$lang=db_query("SELECT name FROM field_revision_field_language, taxonomy_term_data
 WHERE entity_id = $value1_node

AND  field_language_tid = tid
")->FetchField();
print  "<input type='checkbox' name='mychoice' value=" . $lang . " class='a_orignal' checked />";
print "<label for name=" . $lang . ">" . $lang . "</label>"; 
$lang1=db_query("SELECT name FROM field_revision_field_language, taxonomy_term_data WHERE entity_id = $value2_node AND  field_language_tid = tid")->FetchField();
print "<div id='b'>";
print  "<input type='checkbox' name='mychoice' value=" . $lang1 . " class='a' />";              print "<label for name=" .$lang1 . ">" . $lang1 . "</label>";  
print "</div>";
print "</div>"; 

当我点击最后一个复选框时,他们会提醒我,但检查的值是隐藏的,它们不会显示。

3 个答案:

答案 0 :(得分:0)

您可以尝试此$('.a_orignal:checked').size(),然后检查尺寸是否大于0

答案 1 :(得分:0)

不要在复选框上使用click事件侦听器 - 它可能会在更改事件之前触发。

使用此示例:

$(".a_orignal").change(function(){
    //your change handler here
});

答案 2 :(得分:0)

使用事件代替点击事件。请尝试以下代码:

$(".a_orignal").on( "click", function(){
    var checked = $(".a_orignal input:checked").length;
    if (!checked){
      alert('You can select at least one Languages!!');
      return false;
    }
});