当另一个元素的值被更改时,检查 chekbox


Check chekbox when value of another element is changed

我想在更改"选择"的值时选中复选框。不知道这段代码有什么问题,也许你可以看到错误:

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_testselect的班级.
  • divlive_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);
    }
});