jQuery根据选择框填充文本框值

Posted

技术标签:

【中文标题】jQuery根据选择框填充文本框值【英文标题】:Jquery populate text box value based on selectbox 【发布时间】:2021-08-20 13:10:12 【问题描述】:

我有一个文本框,用于输入装有剩余化学品的桶的小数重量。

<div class="form-group col-xs-12 col-sm-3">
     <div class="input-group ">
         <span class="input-group-addon white">Weight</span>
         <input class="form-control weight" type="text" />
     </div>
</div>

然后,用户将从选择框中选择一个选项,说明它是什么尺寸的桶。

<div class="form-group col-xs-12 col-sm-3">
    <div class="input-group ">
        <span class="input-group-addon white">Barrel Size</span>
        <select class="form-control gray" id="sizeSelect">
            <option value="defaultSelect" disabled selected>Select an option..</option>
            <option value="Small">Small</option>
            <option value="Medium">Medium</option>
            <option value="Large">Large</option>
        </select>
    </div>
</div>

每个桶尺寸已经有一个固定的重量。小号 = 2.5 公斤,中号 = 4.5 公斤,大号 = 8.5 公斤。 然后我有第三个文本框,我想在减去桶重后显示化学重量。

<div class="form-group col-xs-12 col-sm-3">
    <div class="input-group ">
        <span class="input-group-addon white">Updated Weight</span>
        <input readonly class="form-control updatedWeight" style="color: #20c200" type="text" />
    </div>
</div>

我基本上是在尝试类似的东西:

$(document).ready(function() 

$('#sizeSelect').change(function() 
    var myText = $("#sizeSelect :selected").text();
    if (myText == 'Small') 
     //Something like:
       var sum = $('.weight').val() - 2.5;
       $('.updatedWeight').val() = sum;
    
);

);

因为我是 jquery 的新手,所以我有点迷茫。请任何提示表示赞赏。 谢谢

【问题讨论】:

我相信使用 JQuery 设置一个值,您将值传递给 val() 函数,例如:...val(sum);。我不确定您可能还有什么其他问题。 【参考方案1】:

应该可以用数据属性来设置每桶的重量,所以喜欢

<div class="form-group col-xs-12 col-sm-3">
    <div class="input-group ">
        <span class="input-group-addon white">Barrel Size</span>
        <select class="form-control gray" id="sizeSelect">
            <option value="defaultSelect" disabled selected>Select an option..</option>
            <option value="Small" data-weight=2.5>Small</option>
            <option value="Medium" data-weight=4.5>Medium</option>
            <option value="Large" data-weight=8.5>Large</option>
        </select>
    </div>
</div>

然后你可以做下面的代码

$(document).ready(function() 

    $('#sizeSelect').change(function() 
        var newWeight = $("#weight").val() - $("#sizeSelect:selected").data("weight");
        $('.updatedWeight').val(orgWeight)
    );
    $('#weight').change(function() 
        var newWeight = $("#weight").val() - $("#sizeSelect:selected").data("weight");
        $('.updatedWeight').val(orgWeight)
    );
);

每次更新权重输入或 sizeSelect 时更新 updatedWeight 中的值。 此外,将权重输入更改为具有 id 而不是类。

【讨论】:

【参考方案2】:

使用$('.updatedWeight').val(sum); 更改input 的值

【讨论】:

以上是关于jQuery根据选择框填充文本框值的主要内容,如果未能解决你的问题,请参考以下文章

在 jquery 数据表中分页后保留文本框值

根据组合框选择更改文本框值

根据文本框值javascript修改complete.ly选项

VBA根据选项按钮选择更新文本框值

jquery 选中文本框 jquery 文本框样式 jquery 改变样式

根据另一个文本框填充文本框值 - Ms Access