Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 prop()不';不为复选框工作_Javascript_Php_Jquery_Checkbox - Fatal编程技术网

Javascript prop()不';不为复选框工作

Javascript prop()不';不为复选框工作,javascript,php,jquery,checkbox,Javascript,Php,Jquery,Checkbox,我在一个非常简单的问题上绞尽脑汁(如果你知道去哪里找的话,我想)我征求你的意见 我用PHP构建了一个类似这样的表: echo '<tr><td class="report"><input type="checkbox" id="crediti['.$i.']" name="crediti['.$i.']" value="'.$cred['id_cre'].'" '; if($check == 1){ echo "checked";}else{ echo ""

我在一个非常简单的问题上绞尽脑汁(如果你知道去哪里找的话,我想)我征求你的意见

我用PHP构建了一个类似这样的表:

echo '<tr><td class="report"><input type="checkbox" id="crediti['.$i.']" name="crediti['.$i.']" value="'.$cred['id_cre'].'" ';
    if($check == 1){ echo "checked";}else{ echo "";}
    echo' /></td><td class="report">'.$cred['id_cre'].'</td>
    <td class="report">'.number_format($cred['gbv_tot'],'2',',','.').'</td>
    <td class="report"><input class="input_field" type="text" name="chiesto['.$i.']" value="'.$chiesto.'"></td>
    <td class="report"><input type="text" name="ammesso['.$i.']" value="'.$ammesso.'"></td>
    <td class="report"><input type="text" name="data_ammesso['.$i.']" value="'.$data_ammesso.'" class="data_field"></td></tr>';
我已验证选择器是否标识了正确的复选框,但我无法将该复选框设置为“已选定”。没有任何错误被抛出。只是什么都没发生。我做错了什么?我应该在哪里查找错误


提前谢谢

您需要针对同一行中的复选框

查找匹配的祖先元素,使复选框不是复选框元素的祖先,这就是它不工作的原因

您需要找到已更改字段的父项
tr
,然后在其中找到复选框

$(this).closest("tr").find("input:checkbox").prop("checked", true); 

接近解决方案。此代码选中所有复选框(每行一个)。不知道为什么,但是console.log($(this).closest(“input”).attr(“name”);)正在返回所需复选框的名称…@LelioFaieta然后将选择器
input:checkbox
更改为
input[name=“yourcheckboxname”]
input:checkbox
更改为
input[name=“yourcheckboxname”]:checkbox
谢谢!我正在执行$('.input_field').closest(“tr”)。而不是$(this.closest(“tr”)。因此,现在您的代码运行良好!再次感谢!
$(this).closest("tr").find("input:checkbox").prop("checked", true);