2014-04-02 56 views
0

我想設置條件的用戶選擇頁面上的至少一種語言,這裏是我的jQuery代碼如何測試至少有一個複選框被選中與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>"; 

當我點擊最後一個複選框時,他們提醒我,但是檢查的值是隱藏的,他們沒有顯示。

回答

0

你可以試試這個$('.a_orignal:checked').size()然後檢查,如果大小大於0或不

0

不要點擊複選框事件監聽器 - 它可能早於變化事件觸發。

玩這個示例:在事件而不是click事件

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

這個類中切換功能使用的明智當我點擊它,他們改變類的意思是隱藏類節目 – user3239865

+0

我已經回答更多的問題。現在我認爲這個問題對我來說還不完全清楚。此外,由於您使用drupal標記標記了問題並在示例中使用了drupal函數,因此我強烈建議您不要這樣編寫drupal代碼。你應該分割數據和查看。如果你閱讀一些howtos(取決於你使用的drupal版本),它也會更好:drupal.org/writing-secure-code,https://drupal.org/theme-guide/6-7 請告訴我們更多 - 你想達到什麼。 – jslayer

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; 
    } 
}); 
相關問題