1

チェックボックスhtmlがあります。

<label><input type="checkbox"><span>Air Conditioning</span></label>
<label><input type="checkbox"><span>Cable TV Service</span></label>
<label><input type="checkbox"><span>Private Bathroom</span></label>

チェックボックスごとに個別の値が必要なので、それらの値をすべてから取得して変数に保存できます。例えば

<label><input type="checkbox" data="1"><span>Air Conditioning</span></label>
<label><input type="checkbox" data="2"><span>Cable TV Service</span></label>
<label><input type="checkbox" data="3"><span>Private Bathroom</span></label>

したがって、3つすべてが選択されている場合、変数が次のように必要になります

room_features = '1-2-3';

いずれかがチェックされていない場合、変数は次のように更新されます

room_features = '2-3';

したがって、チェックボックスを変更するたびに、変数を更新する必要があります。チェックボックスに data="1" などを追加しても問題ない場合、私は混乱していますか? 単一の二重引用符がある場合、通常はアンカーに対して行います。

4

6 に答える 6

2

ライブデモ

各チェックボックスでを使用する必要があります。例:

HTML:

<input type="checkbox" value="1" checked />
<input type="checkbox" value="2" checked />
<input type="checkbox" value="3" />

JQuery:

var searchIDs = $("input:checkbox:checked").map(function(){
        return this.value;
    }).toArray();
于 2013-10-10T08:38:51.090 に答える
1

html

<label><input type="checkbox" checked="checked" data="1"><span>Air Conditioning</span></label>
<label><input type="checkbox" checked="checked" data="2"><span>Cable TV Service</span></label>
<label><input type="checkbox" data="3"><span>Private Bathroom</span></label>

JS

 var selectedvalue=[];
    $(":checkbox:checked").each(function(){

    selectedvalue.push($(this).attr("data"));

    });

alert(selectedvalue.join("-"));// your desired result

デモ

参照配列チェックセレクター

于 2013-10-10T08:37:27.347 に答える
1

メソッドを使用できます。入力に値が必要な代わりに、要素に属性を.map()追加したことに注意してください。そうでない場合、それを使用する意味は何ですか? 属性を使用する場合は、識別子を指定する必要があります。のようなもの で、jQueryメソッドを使用して値を取得できます。valuedatadata-*<input type="checkbox" data-id="1">data()$(elem).data('id');

<label><input type="checkbox" value="1"><span>Air Conditioning</span></label>
...

var vals = $('input[type=checkbox]:checked').map(function(){
     return this.value; // return $(this).data('whatever');
}).get().join('-');

get()配列が必要な場合.join()は、文字列を返すメソッドを削除できます。

于 2013-10-10T08:37:41.547 に答える
1

この動的なものを試してください

var room_features = "";

$('[type=checkbox]').change(function () {
var data = "-" + $(this).attr('data');
if (room_features.indexOf(data) != -1) {
    room_features = room_features.replace(data, "");
    alert(room_features);
} else {
    room_features = room_features + data;
    alert(room_features);
}
});

デモフィドル

于 2013-10-10T08:55:07.953 に答える
1

JavaScript

getElementById("chkbox1").checked=true;

jquery

$("#chkbox1").prop("checked");

また

$("#chkbox1").attr("checked");
于 2013-10-10T08:39:25.873 に答える
0

このJsfiddleをチェックしてください

$("#btn").click(function(event){
    var selectedvalue=[];
$(":checkbox:checked").each(function(){

selectedvalue.push($(this).attr("data"));

});

alert(selectedvalue.join("-"));// your desired result

  })
于 2013-10-10T08:46:19.960 に答える