-1

これが私の例です

<fieldset data-role="controlgroup" id="test">
    <legend>Radio buttons, vertical controlgroup:</legend>
    <input class="status" type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked">
    <label for="radio-choice-1">Cat</label>
    <input class="status" type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2">
    <label for="radio-choice-2">Dog</label>
    <input class="status" type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3">
    <label for="radio-choice-3">Hamster</label>
    <input class="status" type="radio" name="radio-choice-1" id="radio-choice-4" value="choice-4">
    <label for="radio-choice-4">Lizard</label>
</fieldset>

$('.status').on("click", function () {
    var inputs = $('#test').find('input');
    $.each(inputs, function (i, v) {
        console.log(v);
    });
});

次のようなすべてのラジオ ボタンのidとを取得したいと思います。val()

[{
    id: id1,
    value: value1
} {
    id: id2,
    value: value2
}]
...

何か案は?

4

2 に答える 2

1

要素の属性を取得するには、.attr()のように使用できます$(el).attr('class')

ただし、上記の場合に目的の出力を取得するには、次を使用できます

$('.status').on("click", function () {
    var array = $('#test').find('input').map(function(idx, el){
        return {id: el.id, value: el.value}
    }).get();
    console.log(JSON.stringify(array));
});

デモ:フィドル

于 2013-08-14T03:03:51.427 に答える
1
$('.status').on("click", function () {

var radioid = $(this).attr('id'); //gets the attribute ID of the clicked `.status`
    radioval = $(this).val(); //gets the value of of the clicked `.status`
alert('ID = ' + radioid + ' and VALUE = ' + radioval); //see the magic


var inputs = $('#test').find('input');
$.each(inputs, function (i, v) {
    console.log(v);
});

});

jquery attr()を使用して属性 ID (およびその他の属性)を取得し、 val()を使用してラジオ ボタンの値を取得します。

デモ

于 2013-08-14T03:04:19.553 に答える