Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 复选框值显示两次_Php_Javascript_Jquery_Arrays_Jquery Selectors - Fatal编程技术网

Php 复选框值显示两次

Php 复选框值显示两次,php,javascript,jquery,arrays,jquery-selectors,Php,Javascript,Jquery,Arrays,Jquery Selectors,我使用jquery获取复选框的值。但是,发生的情况是,该值正在被复制,并且似乎正在获取while循环中所有复选框的值。如果有人能指出我的错误,我将不胜感激。多谢各位 更新:当前代码。现在只选择第一个条目。进一步单击复选框时没有输出 PHP代码 while($row = mysql_fetch_array($result)) { $ticket = $row['ticket_frm']; $rowdate = date("d/m/Y",strtotime($row['date_f

我使用jquery获取复选框的值。但是,发生的情况是,该值正在被复制,并且似乎正在获取while循环中所有复选框的值。如果有人能指出我的错误,我将不胜感激。多谢各位

更新:当前代码。现在只选择第一个条目。进一步单击复选框时没有输出

PHP代码

while($row = mysql_fetch_array($result)) 
{
    $ticket = $row['ticket_frm'];
    $rowdate = date("d/m/Y",strtotime($row['date_frm']));
    $id = $row['id_frm'];
    $from = $row['from_frm'];
    $subject = $row['subject_frm'];
    $message = $row['message_frm'];

    $myString = <<<EOF
    <span><input id="check" type="checkbox" name="delete" value="<?php echo $ticket ?>"></span>
    <div class='msgTrue buttonMailTrue' data-message='%s' data-subject='%s' data-rowdate='%s' data-from='%s'>

    <img src="images/sml_new_mail_icon.gif" class="mailIcon" alt="" />$subject;
    <div class="rowdate">$rowdate</div><br />
    <span class="mailFrom">$from</span>
    </div>
    <p class="checked"></p>
    <!-- The following end tag need to be at the start of the line -->
    EOF;
    printf($myString, $message, $subject, $rowdate, $from);
}   echo '<p class="checked">'.'</p>';
while($row=mysql\u fetch\u array($result))
{
$ticket=$row['ticket\u frm'];
$rowdate=日期(“d/m/Y”,标准时间($row['date\U frm']);
$id=$row['id\u frm'];
$from=$row['from'];
$subject=$row['subject_frm'];
$message=$row['message_frm'];

$myString=您应该使用
this
来处理当前复选框:

$(".check").click(function() {
    var isChecked = this.checked;  // or $(this).prop("checked")
    if (isChecked) {
        $("p.checked").html("Checkbox is checked: <b>True</b>");
    } else {
        $("p.checked").html("Checkbox is checked: <b>False</b>");
    }
});
$(“.check”)。单击(函数(){
var isChecked=this.checked;//或$(this.prop)(“checked”)
如果(已检查){
$(“p.checked”).html(“选中复选框:True”);
}否则{
$(“p.checked”).html(“选中复选框:False”);
}
});

将jquery代码更改为。由于$('.check')返回对象的数组,因此默认情况下仅检查第一个对象的属性

$(function() {
  $('.check').click(function(){
    var isChecked = $(this).is(':checked');
    alert(isChecked);
    if(isChecked)
      $('p.checked').html('Checkbox is checked: <b>True</b>');
    else
      $('p.checked').html('Checkbox is checked: <b>False</b>');
  });
});
$(函数(){
$('.check')。单击(函数(){
var isChecked=$(this).is(':checked');
警报(已检查);
如果(已检查)
$('p.checked').html('Checkbox is checked:True');
其他的
$('p.checked').html('Checkbox is checked:False');
});
});

根据您的代码和选择器,页面上有许多
input class=“check”
元素。
您可以通过类名找到它们,这就是它们重复的原因

使用
id
-属性和
$(“#id”)
语法来获取正确的值,或者在代码中使用
关键字:

//var isChecked = $('.check').is(':checked'); - wrong
var isChecked = $(this).is(':checked'); // right
更新:
您没有为元素提供唯一的
id
。当然,这不起作用。您的错误与前面相同。
请尝试以下代码:

<input id="check$ticket" type="checkbox" name="delete" value="<?php echo $ticket ?>">
试一试

$(“.check”)。单击(函数(){
$(“p.checked”).html(
选中复选框:“+$(this).is(“:checked”)+”;
}

它仍在返回重复的值。如果有影响,我将针对ie6/7进行测试。@user1532468将简化的Html与您的输入一起带给我们,以便我们可以测试它。@VM我按照您最初的建议从类更改为ID。@user1532468您仍然必须为您的元素提供唯一的
ID
。@VM我是唯一的元素ng以获取is#检查的值。我需要分配什么over id。谢谢
<input id="check$ticket" type="checkbox" name="delete" value="<?php echo $ticket ?>">
  $("#check" + TICKET_NUMBER_HERE).click(function() {
   var isChecked = $(this).prop("checked");  // or $(this).prop("checked")
     if (isChecked) {
       $("p.checked").html("Checkbox is checked: <b>True</b>");
   } else {
       $("p.checked").html("Checkbox is checked: <b>False</b>");
$(".check").click( function() { 
    $("p.checked").html( 
        "Checkbox is checked: <b>" + $(this).is(":checked") + "</b>" );
}