-5

次のHTMLコンテンツがあるとします。

<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox"></input><p>Testing A list </p></div>

<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>
<div class="b_list"><input type="checkbox"></input><p>Testing A list </p></div>

そしてこのjQuery:

if($(".a_list, .b_list").is(":checked"))
{

} else
{
    alert("Please make a selection");
}
4

2 に答える 2

2

「少なくとも1つのチェックボックスがチェックされているかどうかを確認する方法」という意味かもしれません。

<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>
<div class="a_list"><input type="checkbox" /><p>Testing A list </p></div>

if (!$(".a_list input:checked, .b_list input:checked").length){
     alert("Please make a selection");
}

入力にはありません</input>

于 2013-01-05T03:19:31.233 に答える
1

あなたのコード:

if($(".a_list, .b_list").is(":checked"))

...クラスa_listまたはb_listチェックされている要素があるかどうかをチェックします。もちろん、それらはすべてdivであるため、チェックされません。そのような要素にチェックされている子チェックボックスがあるかどうかを確認するには、代わりに次のように言うことができます。

if($(".a_list, .b_list").has(":checked").length > 0)

.has()メソッドが呼び出されるjQueryオブジェクトの要素に、指定されたセレクターと一致する子孫があるかどうかをテストする場合。(.has()ブール値ではなく、別のjQueryオブジェクトを返すことに注意してください。)

何らかの理由で使い続けることにし.is()た場合は、最初に実際のチェックボックスを選択する必要があります。

if($(".a_list, .b_list").find('input[type="checkbox"]').is(":checked"))
// or
if($('.a_list input[type="checkbox"], .b_list input[type="checkbox"]').is(":checked"))
于 2013-01-05T03:50:54.067 に答える