2013-08-02 4 views
2

Я пытаюсь вытащить «data-val» радио, имеющего определенное имя класса.jQuery найти значение радио с именем класса

мне это нужно, чтобы: найти данные-валин элемента внутри, который имеет радио-группы класса «правильный»

я не могу за жизнь мне думать о том, как это сделать. Есть предположения?

HTML

<fieldset> 
    <input type='radio' name='rads1' id='x1' data-val='23' class='correct'/> 
    <label for='x1'>#1</label><br/> 
    <input type='radio' name='rads1' id='x2' data-val='46' class='incorrect'/> 
    <label for='x2'>#2</label><br/> 
    <input type='radio' name='rads1' id='x3' data-val='16' class='incorrect'/> 
    <label for='x3'>#3</label><br/> 
    <input type='radio' name='rads1' id='x4' data-val='52' class='incorrect'/> 
    <label for='x4'>#4</label><br/> 
</fieldset><br/> 
<fieldset> 
    <input type='radio' name='rads2' id='y1' data-val='3' class='incorrect'/> 
    <label for='y1'>#1</label><br/> 
    <input type='radio' name='rads2' id='y2' data-val='6' class='incorrect'/> 
    <label for='y2'>#2</label><br/> 
    <input type='radio' name='rads2' id='y3' data-val='36' class='correct'/> 
    <label for='y3'>#3</label><br/> 
    <input type='radio' name='rads2' id='y4' data-val='12' class='incorrect'/> 
    <label for='y4'>#4</label><br/> 
</fieldset> 

ответ

2

Попробуйте использовать метод .data():

$('input[type=radio][name=rads1].correct').data('val'); 
// Or [name=rads2] depending on which one you want... 

JSBin Demo

+0

Если я использую свой код, не будет ли он тянуть данные-валин с обеих radiogroups? Мне нужно, чтобы он вытащил из определенной радиогруппы. (name = rads1) или (name = rads2). Это очень близко! Спасибо! – Sanya

+0

@Sanya Действительно, я просто обновил ответ соответственно ... :) – DarkAjax

+0

Это замечательно! спасибо – Sanya

1
$('.correct').each(function() { 
    console.log( $(this).data('val')) 
}); 

Вы хотели бы, чтобы перебрать элементы, как вы могли бы иметь несколько элементов с тот же класс.

Использование карты

var values = $('.correct').map(function() { 
       return $(this).data('val'); 
      }).get(); 
console.log(values.join(',')); 

Check Fiddle

Смежные вопросы