-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 回答