我想在更改"选择"的值时选中复选框。不知道这段代码有什么问题,也许你可以看到错误:
var selected; var div_id;
$(".live_editor_test").focus(function() {
selected = $(this).val();
div_id = $(this).closest("div").attr('id');
});
$(".live_editor_test").blur(function() {
if (selected != $(this).val()) {
$('#live-assigning_check_' + div_id).attr('checked', true);
}
});
-
live_editor_test
是select
的班级. -
div
是live_editor_test
的行元素和父元素。 - 复选框 ID
live-assigning_check
。 -
div_id
递增,因为每个 mySql 查询都有一行。
提前谢谢。
。.php:
echo "<span class='content-row live-row-8' style='"$colorcov'">";
echo "<select class='"live_editor_test'" name='"live_editor[$i]'" style='"width:65px;font-size:10px;'">";
echo "<option value='"'" selected></option>";
foreach ($storage_access->userAuth($row1, $where) as $row45)
{
if ($row45->match_id > '0') { $selected = "selected"; } else { $selected = ""; }
echo "<option value='"$row45->user_id'" $selected>$row45->user_name</option>";
}
echo "</select>";
echo "</span>";
echo "<span style='"width:20px;display:table-cell;'"><input class='checkbox-row' id='live-assigning_check_$i' type='checkbox' name='checked[$i]' ></span>";
使用 .prop()
而不是 .attr()
。同时对选择框使用更改事件。
注意:假设'#live-assigning_check_' + div_id
的计算结果为有效的复选框 ID。
$(".live_editor_test").change(function() {
if (selected != $(this).val()) {
$('#live-assigning_check_' + div_id).prop('checked', true);
}
});