【问题标题】:Get Checkbox[] values in javascript for php在 javascript 中为 php 获取 Checkbox[] 值
【发布时间】:2012-12-04 22:38:30
【问题描述】:

我在检查复选框中的值时遇到问题。我试图清理代码。

我已经能够选择所有选定的复选框(不是每行),或者我可以获得每行的复选框 ID,但不能获得选定的值。我很确定我可以将这些值转移到另一个页面,但不知道如何获取它们。

我们将不胜感激任何帮助!

 //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 |

【问题讨论】:

  • 我做了一些改变,离目标更近了。如果有人可以提供帮助,几乎就在那里...这是我所拥有的 for($x = 1; $x Page $x - "; for($i = 1; $i $i";结束;

标签: php javascript checkboxlist


【解决方案1】:

名字应该有不同的数字,发送的名字应该是唯一的,就像你的身份证一样。

尝试将名称设置为 id :name='etype_$x'

然后使用调试控制台(如果使用 chrome 点击 f12)然后转到网络并可视化在表单中发送的变量和值。

【讨论】:

  • 我需要 i 值,我可以得到 x
  • 然后您可以使用 $i 而不是 $x 如下所示:name='etype_$i' 这完全取决于您的需求,您甚至可以同时使用它们:name='etype_$x_$i'
【解决方案2】:
var $editions = $("#page_"+page_num+" input[checked=checked]");
var editions = [];
$editions.each(function(input) {
  editions.push($(input).val());
});

【讨论】:

  • Ed - 这是一个弹出窗口,允许用户选择对每个页面有效的版本。版本数是存储在 MYSQL 数据库中的值。我已经能够将页码设置为复选框列表的 id 并将其拉出,但是在选中复选框时遇到问题。然后我使用 javascript 来获取值并将它们传递回原始页面。发回的值为 page: x values checks[].
  • 如果有人可以提供帮助,我已经创建了一个 Fiddle 页面,其中存在问题。它是一个带有 2 行复选框的 HTML 表格。我需要每行获取检查的数据,我能弄清楚的是如何获取所有检查的值...如果有人可以提供帮助,这是链接:j-fiddle
【解决方案3】:

您不需要 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 页检查的值(如果有)

【讨论】:

  • 我正在使用 JavaScript,因为我没有操作页面或发布变量。这是一个弹出窗口,我将这些选定的变量返回到上一页。
  • 啊,好吧,你可以把这个放在问题里……我给你其他答案
  • 如果有人可以提供帮助,我已经创建了一个 Fiddle 页面,其中存在问题。它是一个带有 2 行复选框的 HTML 表格。我需要获取每行检查的数据,我能弄清楚的就是如何获取所有检查的值...如果有人可以提供帮助,这是链接:j_fiddle
  • 我把php改成并为java添加了这个://检查版本/ var editions=''; document.getElementById("editions").style.visibility="visible"; var 元素 = document.getElementById("myform").elements; for(var i=0; i
【解决方案4】:

现在,知道这是一个将支票发送给父母的弹出窗口......

检查如下:

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 具有该页面的所有检查值,由 ',' 分隔

【讨论】:

  • 我不得不在最后添加一个 ) ,但这仍然没有得到想要的结果。我仍然有同样的问题。示例:我有第 1 页 []01 []02 和第 2 []01 []02 页。我为第 1 页选择了 01 和 02,为第 2 页选择了 01。我的结果是 Page:1 值:01 Page:2 值:01,02,01
  • 我做了一些改变,离目标更近了。如果有人可以提供帮助,几乎就在那里......这就是我所拥有的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 2018-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多