次のような形式でJQueryの「すべてチェック」機能を使用したい: http://jetlogs.org/jquery/jquery_select_all.html
私の問題は、phpスクリプトからフォームを生成していることです。また、事前にチェックボックスがいくつあるか正確にわかりません。 $ _POSTデータで選択されたすべてのチェックボックス値を取得できるように、「配列」命名規則を使用しています...チェックボックスは次のようになります。
<input type="checkbox" name="items[]" value="<?php echo $id ?>">
しかし、このJQuery宣言は機能しません。
$("input[@name=items[]]").each(function()
{
this.checked = checked_status;
});
おそらく、「items」の最後の「[]」がJQuery宣言を台無しにするためです...「@ name = items []」のように@ name = items []と記述して、いくつかのアンチを入れようとしました-と[]の前にスラッシュを付けると、特殊文字とは見なされませんが、機能しませんでした...
誰かが解決策を知っていて、それを共有しても構わないとしたら、それは素晴らしいことです。 :)
内部ブラケットを\\
(スペースなし)でエスケープします-これで問題が解決するはずです。
このセレクターは私にとってはうまくいきます:
$('input[name=items\\[\\]]')
使ってみてください
$('input[name="items[]"]')
@
は不要で、"
を使用します。引用符の外側のセレクタは'
であることに注意してください。そうしないと、解析エラーが発生する可能性があります。
まず、同じ名前の+1要素を設定するには、name属性を使用する必要があります。これは実質的にid属性と同じであり、参照を除いて要素ごとに一意である必要がありますが、そうではありません。
クラス属性を使用してみてください、それはあなたがやりたいことのために作られています!
別のことは、コードでは、チェックボックスを「チェック済み」にのみ設定できますが、チェックを外すことはできません。このコードは、クリックされた要素から属性として取得する内容に応じて、チェックボックスをオンまたはオフに設定します。
あなたはこのようなことをすることができます:
すべてのチェックボックスにIDを設定します
<input type="checkbox" id="checkAll">
次に、クラスをオン/オフにするすべてのチェックボックスを設定します
<input type="checkbox" class="checked">
そして、あなたはjQueryでこのようなことをすることができます
$("#checkAll").click( function(){
var checkedValue = $(this).attr("checked");
$("input.checked").attr("checked", checkedValue); });
これにより、クラスがチェックされているすべてのチェックボックスが、id checkAllを持つものと同じchecked属性に変更されます。
$("input[name='smsid[]']")
このコードは私にとってはうまくいきます...