我碰到一个非常简单的问题(如果你知道在哪里找的话,我想),我请求你的建议。
我有一个这样的表从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>';
我也有一些jquery代码来检查每个复选框,如果用户在一行的一个输入字段中输入值。
$('.input_field').blur(function(){
if($(this).val()!=''){
$(this).closest("input").prop("checked", true);
}
});
我已经验证了选择器正在识别正确的复选框,但我无法将该复选框转为选中。不会抛出任何错误。什么都没发生。我做错了什么?我应该在哪里查找错误?
提前感谢!
您需要在同一行中定位复选框。
.close()找到一个匹配的祖先元素,所以复选框不是复选框元素的祖先,这就是为什么它不起作用。
您需要找到更改字段的tr
父字段,然后找到其中的复选框。
$(this).closest("tr").find("input:checkbox").prop("checked", true);