Javascript 隐藏选项并删除同级的值';值大于目标,如果同级';价值小于目标

Javascript 隐藏选项并删除同级的值';值大于目标,如果同级';价值小于目标,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我们有一个目标编号,选项标记的值必须大于。我使用jQuery来隐藏选项标记。它们仅在前一个同级的值不大于目标数(在本例中为450)时出现 下面是隐藏或显示select标记及其选项的jQuery if ($('#maxTPH1').val() < $('#tphNeeded').val()) { $('#selectedSourceMaterial2, #materialInput2').fadeIn(800).css("display", "inline-block

我们有一个目标编号,选项标记的值必须大于。我使用jQuery来隐藏选项标记。它们仅在前一个同级的值不大于目标数(在本例中为450)时出现

下面是隐藏或显示select标记及其选项的jQuery

if ($('#maxTPH1').val() < $('#tphNeeded').val()) {
            $('#selectedSourceMaterial2, #materialInput2').fadeIn(800).css("display", "inline-block");
            $('#sourceMaterialDivImage').css('margin-bottom', "17%");
        } else {
            $('#selectedSourceMaterial2, #materialInput2').css("display", "none");
            $('#sourceMaterialDivImage').css('margin-bottom', "13%");
        }
我的总价值是600英镑。只要我的总值小于450,选择标记就会一直出现。如果我返回并将select 2更改为300,则前两个select标记的总值为500,因此select 3被隐藏,因为它们的值大于450的目标值,但是我的select标记3的值不会变为0,除非我使用

if (maxTPH1 + maxTPH2 >= $('#tphNeeded').val() ) {
  maxTPH3 = 0;
  maxTPH4 = 0;
}
我们有四个选择标记的限制

我可以将标记设置回0

如果我是两个,将前两个标记再次更改为200,第三个标记再次出现,值200仍然显示,但现在计算为0。尽管数字是200。我相信这与行动的范围或顺序有关。 这是代码片段

var maxTPH1=0;
var maxTPH2=0;
var maxTPH3=0;
var maxTPH4=0;
var tphadditOnalNeedValue;
$(文档).ready(函数(){
jQuery.selectValidator=函数selectValidator(){
//如果#maxTPH1的值小于#tphneed,则添加第二个bin,如果更改选项1,则重新评估
if($('#maxTPH1').val()<$('#tphneed').val()){
$(#selectedSourceMaterial2,#materialInput2').fadeIn(800).css(“显示”、“内联块”);
$('#sourceMaterialDivImage').css('margin-bottom','17%”);
}否则{
$(“#selectedSourceMaterial2,#materialInput2').css(“显示”、“无”);
$(#sourceMaterialDivImage').css('margin-bottom','13%”);
}
//如果#maxTPH1+#maxTPH2的值小于#tphneded,则添加第三个箱子
if((parseInt($('#maxTPH1').val())+parseInt($('#maxTPH2').val())if (maxTPH1 + maxTPH2 >= $('#tphNeeded').val() ) {
  maxTPH3 = 0;
  maxTPH4 = 0;
}
setTimeout(function(){
  console.clear();
  var total=0;
    $("[id^='selectedSourceMaterial']:visible").each(function(){
      console.log($(this).val());
      total += parseInt($(this).val());
    });
    console.log(total);
    //var tphAdditonalNeededValue = parseInt($('#tphNeeded').val()) - (parseInt(maxTPH1) + parseInt(maxTPH2) + parseInt(maxTPH3) + parseInt(maxTPH4));

    var tphAdditonalNeededValue = parseInt($('#tphNeeded').val()) - total; 
    $('#tphAdditionalNeeded').val(tphAdditonalNeededValue);
},1000);