необходимо получить значение каждого флажка, который находится в цикле - PullRequest
0 голосов
/ 25 мая 2009
<script>
  $(document).ready(function(){

    function countChecked() {
      var n = $("input:checked").length;
      $("div").text(n + (n <= 1 ? " is" : " are") + " checked!");
    }
    countChecked();
    $(":checkbox").click(countChecked);

  });
  </script>
  <style>
  div { color:red; }
  </style>
</head>
<body>
  <form>
    <input type="checkbox" name="newsletter" checked="checked" value="Hourly" />
    <input type="checkbox" name="newsletter" value="Daily" />
    <input type="checkbox" name="newsletter" value="Weekly" />
    <input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
    <input type="checkbox" name="newsletter" value="Yearly" />
  </form>

мне нужно получить значение всех отмеченных флажков, таких как «Ежечасно», «Ежедневно»

как я могу получить все значения отмеченных флажков Кто-нибудь может мне помочь, пожалуйста

Ответы [ 4 ]

1 голос
/ 25 мая 2009
var values = $.makeArray($(":checkbox:checked").map(function(){
   return this.value 
})).join(', ')

alert(values)
1 голос
/ 25 мая 2009

небольшое улучшение в Pim Jager (предполагаю, что вам нужен массив возвращаемых значений):

function getCheckedNames(){
 var arr = new Array();
 var $checked = $('[@name=newsletter]:checked');
 $checked.each(function(){ 
  arr.push($(this).val());
 });
 return arr;
}

и с улучшением от duckyflip:

function getCheckedNames(){
  return jQuery('[@name=newsletter]:checked').map(function(){
   return this.value;
  });
}
0 голосов
/ 25 мая 2009

Я думаю, это то, что вы ищете:

function updateChecked(){
 var arr = new Array();
 $('input:checkbox:checked').each( function() {
   arr.push($(this).val());
 });
 var checkboxesText = arr.join(', ');
 var moreText = (arr.length <= 1 ? " is" : " are") + ' checked!';
 $('div').text(checkboxesText + moreText);
}

Это установит для текста div что-то вроде: «Ежечасно, ежедневно проверяются!»

0 голосов
/ 25 мая 2009

Не легко увидеть, что вы пытаетесь сделать здесь, но я думаю, это то, что вы ищете:

$("input:checked").each(function() {
   alert($(this).val());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...