Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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
Javascript 我的复选框不适用于显示数据的循环_Javascript_Php - Fatal编程技术网

Javascript 我的复选框不适用于显示数据的循环

Javascript 我的复选框不适用于显示数据的循环,javascript,php,Javascript,Php,我的复选框做得很好,这是我的一个: $(document).ready(function(){ $('input[type="checkbox"]').click(function(){ if($(this).prop("checked") == true){ document.getElementById("srt").value = document.getElementById("Ultra").value; } el

我的复选框做得很好,这是我的一个:

$(document).ready(function(){
    $('input[type="checkbox"]').click(function(){
        if($(this).prop("checked") == true){
        document.getElementById("srt").value = document.getElementById("Ultra").value;
        }
        else if($(this).prop("checked") == false){
        document.getElementById("srt").value = "";
        }
    });
}); 
在我的显示数据部分,我有一个用于显示所有记录的循环。单击复选框后,我需要从document.getElementByIdUltra.value获取的值,并显示在document.getElementByIdsrt.value上。它只在1个记录下运行良好,其余的我检查不起作用。我认为问题在于我将其显示在屏幕上,并将文本框放入循环中,以显示数据库。有什么帮助吗

这是php的一部分:

for ( $v = 0 ; $v < mysql_num_rows($result) ; $v++ ) 
        {
    $row = mysql_fetch_assoc($result);
    ?>
    <td><input type="checkbox"/></td>
    <?php
    echo'<td>'.$row['aaa'].'</td>';
    echo'<td>'.$row['bbb'].'</td>';
    echo'<td>'.$row['ccc'].'</td>';             
    echo'<td><input type="text" id="srt"></td>';//////this one to display value i get           
    echo'<td>'.$row['dddr'].'</td>';            
    }
该值仅显示在一行上。

请尝试此操作

  $(document).ready(function(){

    var values = $('input.high_name:checked').map(function () {
  return this.value;
}).get(); 
alert(values);
});
并在复选框中添加类名

<input type="checkbox" value="" name="high[]" class="high_name">

我看到的一件事是每个循环中都有。这意味着您的ID不是唯一的,这可能会导致document.getElementByIdsrt.value=document.getElementByIdUltra.value中出现问题;打电话

尝试使id唯一—这意味着为每个文本框提供不同的id,可能类似于srt_u'.$v',并且在jquery函数中检索正确的文本框id

PS:您能在php代码中显示Ultra输入吗

编辑:要获取正确的文本框,您也可以为复选框设置一个id,并使用它获取文本框的正确id

在您的页面中:

echo'<td><input type="checkbox" id='.$v.'/></td>';

我没有测试它,所以可能有一些东西需要调整,但想法是存在的。

你能给我们表单的html和/或php代码吗?谢谢回复,但我不想让它工作,我想问题是我的数据库中的循环,当我勾选该框时,只有一行有值,其余的不是非常感谢,Ultra是下拉列表的名称,我从中获取值并将其放入textboxt。所有这些都将被转换为表单,所以当我单击submit时,它将在数据库中更新。如果我把srt.'$v.'放在textboxt的id上,那么这个部分document.getElementByIdsrt.value javascrip的srt我应该更改什么?我把我的textbox放在像这样的位置,javascrip部分是document.getElementByIdi.value=document.getElementByIdUltra.value;。然后所有的文本框都是一样的,我希望它在我点击时显示每一行。你必须知道你在哪一行。例如,您可以在复选框中添加一个属性,并使用它来获取正确的文本框。我编辑了答案并添加了此位感谢您的帮助,但它现在起作用了,没有显示任何内容,我不明白,仍然想知道此零件文档。getElementByIdsrt+this.id.value this.id我必须更改它,或者干脆不使用它?应该可以,但正如我所说的,它没有经过测试,因此我可能错过了一些内容。尝试在js中添加一些警报以查看发生了什么。如果你在这个基础上创建了一个应用程序,那么它将更容易提供帮助
echo'<td><input type="text" id="srt'.$v.'"></td>';
if($(this).prop("checked") == true){
    document.getElementById("srt"+this.id).value = document.getElementById("Ultra").value;
}