Получить значения Checkbox [] в javascript для php

У меня проблема с проверкой значений в флажке. Я попытался очистить код.

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

Любая помощь здесь будет принята с благодарностью!

 //php variables used
 $pages = 2
 $size = 4 
  <form id="form" name="cb">
  <div style=" width:800px; height:500px; overflow:auto">
  <h2>Select Editions</h2>
  <table id='table' name='table' border=1 cellpadding=7 width=50% height=50% align='center'>\n
    for($x = 1; $x <= $pages; $x++) :
      print "<td id='page_$x' class='page_button' align='center' custom='0' >Page $x - ";
        for($i = 1; $i <= $size; $i++) :
          print "<input type='checkbox' class='ebutton' id='etype_$x' name='checks[]' value='$i' /> $i";
        endfor;
      </td>
      </tr>
    //php end for loop
    endfor;
  </div>
  </form>

Вот Javascript, который обновляется на основе класса класса флажка

    $(document).ready(function() {
      $(".ebutton").change(function() {

        var idp = $(this).attr("id").split("_");
        var page_num = idp[1];

        //  I need to find out how to get the checkboxes that are checked per row. Ex: 01,02
        //var editions = ?;
        //alert(editions);

        var hidden_id = "#etype_page_" + page_num;
          if($(hidden_id).length < 1) {
            $("#base").append('<input type="hidden" id="etype_page_'+ page_num +'" name="'+ page_num +'"  value="'+ editions +'" class="hidden_edtype" custom="' + editions +'">');
          } else {
            $(hidden_id).val($(this).val());
          }
        update_eShow();
      });
    });

    function update_eShow() {
      $("#eShow").html('');
        $(".hidden_edtype").each(function() {
         var page = $(this).attr("name");
         var value = $(this).attr("custom");
         $("#eShow").append('page:' + page + ' values:' + value +'<br>');
      });
    }

страница выглядит так:

| Страница 1 - []1 []2 []3 []4 |

| Страница 2 - []1 []2 []3 []4 |


person Rev. Phil    schedule 04.12.2012    source источник
comment
Я сделал некоторые изменения, и я ближе к цели. Почти готово, если кто-нибудь может помочь... Вот что у меня есть ‹!-- язык: lang-php --› for($x = 1; $x ‹= $pages; $x++) : print ‹td id=' page_$x' class='page_button' align='center' custom='0' ›Page $x - ; for($i = 1; $i ‹= $size; $i++) : print ‹input type='checkbox' class='ebutton' id='etype_$x' name='checks[]' value='$i ' /› $i; конец для;   -  person Rev. Phil    schedule 18.12.2012


Ответы (4)


имя должно иметь другой номер, имя, отправляемое в форме, должно быть уникальным, как и ваш идентификатор.

попробуйте установить имя как идентификатор: name='etype_$x'

а затем с помощью консоли отладки (если вы используете хром, нажмите f12), затем перейдите в сеть и визуализируйте, какие переменные и значения отправляются в форме.

person Mehdi Karamosly    schedule 04.12.2012
comment
Мне нужны значения i, я могу получить x - person Rev. Phil; 05.12.2012
comment
Затем вы можете использовать $i вместо $x, как показано ниже: name='etype_$i' и все зависит от ваших потребностей, вы даже можете использовать их оба: name='etype_$x_$i' - person Mehdi Karamosly; 05.12.2012

вам не нужен javascript для отправки флажков на php

Вы можете назвать проверки как checks[$page][]:

print "<input type='checkbox' class='ebutton' id='etype_$x' name='checks[$x][]' value='$i' /> $i";

и на вашей странице действий у вас будет в $_POST(pr $_GET)["checks"][1] массив со значениями, проверенными для страницы 1 (если есть)

person Pablo Martinez    schedule 04.12.2012
comment
Я использую JavaScript, потому что у меня нет страницы действий или переменных публикации. Это всплывающее окно, и я возвращаю выбранные переменные на предыдущую страницу. - person Rev. Phil; 06.12.2012
comment
ааа, хорошо, вы можете указать это в вопросе ... я даю вам другой ответ - person Pablo Martinez; 07.12.2012
comment
Я создал страницу Fiddle, в которой есть проблема, если кто-нибудь может помочь. Это HTML-таблица с двумя рядами флажков. Мне нужно получить проверенные данные для каждой строки, и все, что я могу понять, это как получить все проверенные значения... Вот ссылка, если кто-то может помочь: j_fiddle - person Rev. Phil; 17.12.2012
comment
Я изменил php на ‹input type='checkbox' class='ebutton' id='etype_[$x]' name='checks[]' value='0$i'/› и добавил это для java:/ / проверить выпуски / var editions=''; document.getElementById(редакции).style.visibility=visible; var elements = document.getElementById(myform).elements; for(var i=0; i‹ elements.length;i++){ if(elements[i].type == 'checkbox' && elements[i].checked) editions = elements[i].value ; } Мои результаты сейчас: страница:1 значение:01 страница:2 значение:01 страница:2 значение:02 Как я могу объединить похожие страницы и значения страница:1 значение:01 страница:2 значение:01,02 - person Rev. Phil; 19.12.2012

Теперь, зная, что это всплывающее окно, которое отправляет родителям чеки...

Сделайте проверки, как:

print "<input type='checkbox' class='ebutton checks$x' id='etype_$x' name='checks".$x."[]' value='$i' /> $i";

чтобы получить класс чеков страницы 1 как "checks1", класс чеков страницы 2 как "checks2",...

И чтобы получить проверенные:

 var page_num = idp[1];
 var checks=$('checks'+page_num).attr('checked',true); //to get all checked checkboxes of the class checks+page_num
 var editions="";
 checks.each(function(ch) {
     editions+=$(ch).val()+',';
 }

и editions содержит все проверенные значения этой страницы, разделенные символом ','

person Pablo Martinez    schedule 07.12.2012
comment
Мне пришлось изменить добавление ) в конце, но это все еще не дает желаемого результата. У меня все еще та же проблема. примеры: у меня есть страница 1 []01 []02 и страница 2 []01 []02. Я выбираю и 01, и 02 для страницы 1 и только 01 для страницы 2. Мои результаты: Страница:1 Значения: 01 Страница:2 Значения: 01,02,01 - person Rev. Phil; 11.12.2012
comment
Я сделал некоторые изменения, и я ближе к цели. Почти готово, если кто может помочь... Вот что у меня есть - person Rev. Phil; 18.12.2012

person    schedule
comment
Ed — это всплывающее окно, которое позволяет пользователю выбрать, какие издания будут действительны для каждой страницы. Количество изданий — это значение, которое хранится в базе данных MYSQL. Я смог установить номер страницы в качестве идентификатора списка флажков и вытащить его, но у меня возникают проблемы с проверкой флажков. Затем я использую javascript, чтобы получить значения и передать их обратно на исходную страницу. Возвращаемые значения: page: x values ​​checks[]. - person Rev. Phil; 06.12.2012
comment
Я создал страницу Fiddle, в которой есть проблема, если кто-нибудь может помочь. Это HTML-таблица с двумя рядами флажков. Мне нужно получить проверенные данные для каждой строки, и все, что я могу понять, это как получить все проверенные значения... Вот ссылка, если кто-то может помочь: j-fiddle - person Rev. Phil; 17.12.2012