在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/