У меня есть флажки в цикле.
например..
<% (1..5).each do |chk| %>
<%= check_box_tag 'chk',"#{chk}", :checked=>false %>
<% end %>
Я хочу получить идентификатор флажка, который все проверен.
Пожалуйста, помогите мне сделать это.
Заранее спасибо.
JQuery Link:
<script src="/jquery-1.11.0.min.js"></script>
<script src="/jquery-migrate-1.2.1.min.js"></script>
Попробуй это:
Код HTML:
<input id="chk_1" name="foo" type="checkbox" value="1" />chk1
<input id="chk_2" name="foo" type="checkbox" value="2" />chk2
<input id="chk_3" name="foo" type="checkbox" value="3" />ckh3
<input id="chk_4" name="foo" type="checkbox" value="4" />chk4
<input id="chk_5" name="foo" type="checkbox" value="5" />chk5
<button>Alert List</button>
JsCode:
(function( $ ){
$.fn.valList = function(){
return $.map( this, function (elem) {
return elem.value || "";
}).join( "," );
};
$.fn.idList = function(){
return $.map( this, function (elem) {
return elem.id || "";
}).join( "," );
};
})( jQuery );
$('button').click(function(){
alert($("input:checked").valList());
alert($("input:checked").idList());
});
Пример выполнения: JsFiddle Link
$("input[type='checkbox']").val();
вернет только значение первого флажка.
Попробуйте:
<% (1..5).each do |chk| %>
<%= check_box_tag 'chk[]',"#{chk}", :checked=>false%>
<% end %>
Затем в контроллере params[:chk]
предоставит вам массив отмеченных флажков.
Надеюсь, поможет :)
Попробуйте это Это может помочь вам
Синтаксис Ruby:
<% (1..5).each do |chk| %>
<%= check_box_tag('chk[]', chk) %>
<%= chk %>
<% end %>
Синтаксис Jquery:
$('document').ready(function(){
$('input["name=chk[]"]').change(function(){
if($(this).attr("checked")){
alert($(this).val())}
})
})
который выдает предупреждение о флажковом флажке при изменении флажка.
если вы хотите, чтобы флажок установлен, когда загружается документ, попробуйте это
$('document').ready(function(){
alert($('input["name=chk[]"]:checked').val())
})