checkbox上进行选择后,如何比较值并显示输出?我正在使用jQuery来做到这一点。选择后,将不会显示输出。它将仅显示用于首次点击。然后,如果再次单击,将不会更改输出。下面是我到目前为止编写的代码,

jQuery的

$("input:checkbox").on('click', function() {
        var $box = $(this),
        $price = $( "input[name='price_range']:checked").val(),
        $nama_pemohon = "<?php echo $nama_pemohon; ?>",
        $submited_id = <?php echo $submited_id; ?>,
        $jawatan_pemohon = "<?php echo $jawatan_pemohon; ?>",
        $jabatan_pemohon = "<?php echo $jabatan_pemohon; ?>",
        $submited_by = <?php echo $submited_by; ?>,
        $nama = "<?php echo $nama; ?>",
        $jawatan = "<?php echo $jawatan; ?>",
        $jabatan = "<?php echo $jabatan; ?>";

        if($price == "< RM 10,000"){
            $("#submited_by option").val($submited_by).text($nama);
            $("#jawatan_pemohon").text($jawatan);
            $("#jabatan_pemohon").text($jabatan);
        } else {
            $("#submited_by option").val($submited_id).text($nama_pemohon);
            $("#jawatan_pemohon").text($jawatan_pemohon);
            $("#jabatan_pemohon").text($jabatan_pemohon);
        }

});


的HTML

<input type="checkbox" name="price_range" value="< RM 10,000" class="checker"> < RM 10,000.00
<input type="checkbox" name="price_range" value="< RM 200,000" class="checker"> < RM 200,000.00

<select name="submited_by" id="submited_by">
  <option value="<?php echo $submited_by; ?>"><?php echo $nama;?></option>
</select>

最佳答案

正如您在this fiddle中看到的那样,您对第一个复选框的每次单击都会发生更改,而对第二个复选框的更改只有第一次。

这是由于您的逻辑:

if($price == "< RM 10,000"){
    $("#submited_by option").val($submited_by).text($nama);
    $("#jawatan_pemohon").text($jawatan);
    $("#jabatan_pemohon").text($jabatan);
} else {
    $("#submited_by option").val($submited_id).text($nama_pemohon);
    $("#jawatan_pemohon").text($jawatan_pemohon);
    $("#jabatan_pemohon").text($jabatan_pemohon);
}


示例a:


单击第一个复选框->选项更改为“ nama”,因为它出现在if中。
单击任何复选框->选项更改为“ pemohon”,因为它属于else


示例b:


单击第二个复选框->选项更改为“ pemohon”,因为它属于else
再次单击第二个复选框->选项不会更改,因为它再次出现在else中。

关于javascript - 复选框-比较选择中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39485217/

10-12 07:37
查看更多