2014-02-02 2 views
1

У меня есть массив флажков (для использования с php), bu Я хочу использовать ajax, чтобы сделать что-то с этими значениями из флажка, я хочу получить значение из каждого флажка и сделать запрос ajax.Получить значение checkbox javascript

У меня есть это:

$("#checked").each(function(i, val){ 
       var k = $(i).value(); 
       console.log(k); 
      }); 

, но не успех.

HTML:

<input id="checado" type="checkbox" name="ids[]" value="78"> 
<input id="checado" type="checkbox" name="ids[]" value="79"> 
<input id="checado" type="checkbox" name="ids[]" value="80"> 
<input id="checado" type="checkbox" name="ids[]" value="81"> 
+0

'this.value' или' $ (this) .val() '. – lifetimes

+1

не должно быть нескольких элементов с одним и тем же идентификатором на странице, вы должны использовать класс в этом случае и вместо него выбрать '$ ('. Checked')'. –

+0

HTML с флажками также будет полезен, если вы добавите его в свой вопрос (хотя подсказка .val() может быть все, что вам нужно для достижения прогресса) –

ответ

1

С небольшим изменением в вашем HTML, вы можете использовать следующий JavaScript (demo):

<input class="checado" type="checkbox" name="ids[]" value="78"> 78<br/> 
<input class="checado" type="checkbox" name="ids[]" value="79"> 79<br/> 
<input class="checado" type="checkbox" name="ids[]" value="80"> 80<br/> 
<input class="checado" type="checkbox" name="ids[]" value="81"> 81<br/> 
<button id='Submit'>Submit</button> 
<script> 
    $('#Submit').on('click', function() { 
    var values = [] 
    $('.checado:checked').each(function() { 
     var e = $(this); 
     values.push(e.val()); 
    }); 
    alert(values); 
    }); 
</script> 

Для более подробного анализа того, что происходит, флажки есть извлеченная состояние и значение. селектор jQuery $('.checado:checked') вернет только отмеченные флажки (вы должны использовать class, когда у вас есть несколько элементов и id, только когда вы идентифицируете один элемент, браузеры и CSS могут казаться ленивыми, но неправильное использование даст непредсказуемые результаты). Другое изменение заключается в том, чтобы захватить значения с помощью метода jQuery .val(), который помогает скрыть тип ввода и конкретные значения параметров браузера.

0

Вы используете JQuery, который использует его собственный .val() метод. Заменить .value() на .val().

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