Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复选框-比较所选内容中的值_Javascript_Jquery - Fatal编程技术网

Javascript 复选框-比较所选内容中的值

Javascript 复选框-比较所选内容中的值,javascript,jquery,Javascript,Jquery,在选中复选框后,如何比较值并显示输出?我正在使用jQuery来做这件事。选择完成后,它将不显示输出。它只会在第一次单击时显示。然后,如果我们再次单击,输出将不会更改。下面是我目前编写的代码 jQuery $("input:checkbox").on('click', function() { var $box = $(this), $price = $( "input[name='price_range']:checked").val(), $na

在选中
复选框后,如何比较值并显示输出?我正在使用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);
        } 

});
$(“输入:复选框”)。在('click',function()上{
var$box=$(此),
$price=$(“输入[name='price\u range']:选中”).val(),
$nama_pemohon=“”,
$submited_id=,
$jawatan_pemohon=“”,
$jabatan_pemohon=“”,
$submited_by=,
$nama=“”,
$jawatan=“”,
$jabatan=“”;
如果($price==“<10000 RM”){
$(“#按选项提交”).val($submited_by).text($nama);
$(“jawatan_pemohon”)。文本($jawatan);
$(“#jabatan_pemohon”).text($jabatan);
}否则{
$(“提交选项”).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>
我认为应该在jQuery函数之外创建一个“全局”变量

var clicked = false;
$("input:checkbox").on('click', function() {
     if(!clicked) {
        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);
        } 
        clicked = true;
    }
});
var=false;
$(“输入:复选框”)。在('click',function()上{
如果(!单击){
var$box=$(此),
$price=$(“输入[name='price\u range']:选中”).val(),
$nama_pemohon=“”,
$submited_id=,
$jawatan_pemohon=“”,
$jabatan_pemohon=“”,
$submited_by=,
$nama=“”,
$jawatan=“”,
$jabatan=“”;
如果($price==“<10000 RM”){
$(“#按选项提交”).val($submited_by).text($nama);
$(“jawatan_pemohon”)。文本($jawatan);
$(“#jabatan_pemohon”).text($jabatan);
}否则{
$(“提交选项”).val($submited_id).text($nama_pemohon);
$(“jawatan_pemohon”).text($jawatan_pemohon);
$(“jabatan_pemohon”).text($jabatan_pemohon);
} 
单击=真;
}
});
如中所示,每次单击第一个复选框都会得到更改,但第二个复选框只会第一次更改

这是因为您的逻辑:

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);
} 
if($price==“<10000 RM”){
$(“#按选项提交”).val($submited_by).text($nama);
$(“jawatan_pemohon”)。文本($jawatan);
$(“#jabatan_pemohon”).text($jabatan);
}否则{
$(“提交选项”).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

  • 我需要更改逻辑还是缺少任何函数?取决于您对代码的期望。如果在取消选中复选框时需要清除值,则应在
    else
    中设置清除值,并在
    else If
    中设置第二个复选框的值。你确定那个复选框是正确的想法吗?也许单选按钮对您来说是更好的选择。如果我在
    else
    语句中使用例如:
    $(“输入:复选框”).prop('checked',false)
    ,它会清除值吗?它会清除复选框的值,而不是select中选项的值。我应该使用
    empty()
    ?您是否有一些示例或参考资料供我检查?如果您用一些常量替换php段,会更清楚。