[英]Change text of label on changing of select box option using jquery?
I have a select box with multiple option and I want to change the other label text on the base of select box option.我有一个带有多个选项的选择框,我想在选择框选项的基础上更改其他标签文本。 I have 3 value for label WEIGHT(KG)/CARGO VALUE/NO.
我的标签 WEIGHT(KG)/CARGO VALUE/NO 有 3 个值。 OF SHIPMENT and I am using jquery to changing label text, but only WEIGHT(KG) and CARGO VALUE is changing not the NO.
OF SHIPMENT 并且我正在使用 jquery 来更改标签文本,但只有 WEIGHT(KG) 和 CARGO VALUE 正在更改而不是 NO。 OF SHIPMENT.
装运。
and here is the condition to change label text.这是更改标签文本的条件。
Please help.请帮忙。
$(function() { $('#commoditySelect').change(function() { if ($('#commoditySelect').val() == 'Ecommerce') { $('#commodityLabel').text('WEIGHT (KG)'); } else if ($('#commoditySelect').val() == 'Machinery' || 'Electronics') { $('#commodityLabel').text('CARGO VALUE'); } else { $('#commodityLabel').text('NO. OF SHIPMENT'); } }); });
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous" /> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> <div class="container"> <div class="row"> <div class="col-6"> <label>COMMODITY</label> <select class="form-control" id="commoditySelect"> <option value="Ecommerce">E-Commerce</option> <option value="Machinery">Machinery</option> <option value="Plastics">Plastics</option> <option value="Clothing & Textile">Clothing & Textile</option> <option value="Eyewear">Eyewear</option> <option value="Electronics">Electronics</option> <option value="Personal Effects">Personal Effects</option> <option value="Automobile Spares">Automobile Spares</option> <option value="Food Products">Food Products</option> <option value="Livestock Feed">Livestock Feed</option> <option value="Cosmetics">Cosmetics</option> <option value="Chemicals">Chemicals</option> <option value="Pharmaceutical Products">Pharmaceutical Products</option> <option value="Fertilizer">Fertilizer</option> <option value="Rubber">Rubber</option> <option value="Wood">Wood</option> <option value="Paper">Paper</option> <option value="Printed Material">Printed Material</option> <option value="Scrap">Scrap</option> <option value="Footwear">Footwear</option> <option value="Cement">Cement</option> <option value="Ceramic">Ceramic</option> <option value="Glass">Glass</option> <option value="Metals">Metals</option> <option value="General Cargo">General Cargo</option> </select> </div> <div class="col-6"> <label id="commodityLabel">WEIGHT (KG)</label> <input type="text" class="form-control" placeholder="Default Input" /> </div> </div> </div>
You need to define the ||
您需要定义
||
in the elseif
like this => $(this).val() == 'Electronics'
for the last else
to trigger so that the label is change to NO. OF SHIPMENT
在像这样的
elseif
=> $(this).val() == 'Electronics'
为最后一个else
触发,以便标签更改为NO. OF SHIPMENT
NO. OF SHIPMENT
if no condition matches.如果没有条件匹配
NO. OF SHIPMENT
则为NO. OF SHIPMENT
。
Also, instead of using #commoditySelect
again and again you can simply use $(this)
此外,您可以简单地使用
$(this)
,而不是一次又一次地使用#commoditySelect
$(this)
refers to the element where thechange
event is occurring$(this)
指的是发生change
事件的元素
Live Working Demo:现场工作演示:
$(function() { $('#commoditySelect').change(function() { if ($(this).val() == 'Ecommerce') { $('#commodityLabel').text('WEIGHT (KG)'); } else if ($(this).val() == 'Machinery' || $(this).val() == 'Electronics') { $('#commodityLabel').text('CARGO VALUE'); } else { $('#commodityLabel').text('NO. OF SHIPMENT'); } }); });
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous" /> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> <div class="container"> <div class="row"> <div class="col-6"> <label>COMMODITY</label> <select class="form-control" id="commoditySelect"> <option value="Ecommerce">E-Commerce</option> <option value="Machinery">Machinery</option> <option value="Plastics">Plastics</option> <option value="Clothing & Textile">Clothing & Textile</option> <option value="Eyewear">Eyewear</option> <option value="Electronics">Electronics</option> <option value="Personal Effects">Personal Effects</option> <option value="Automobile Spares">Automobile Spares</option> <option value="Food Products">Food Products</option> <option value="Livestock Feed">Livestock Feed</option> <option value="Cosmetics">Cosmetics</option> <option value="Chemicals">Chemicals</option> <option value="Pharmaceutical Products">Pharmaceutical Products</option> <option value="Fertilizer">Fertilizer</option> <option value="Rubber">Rubber</option> <option value="Wood">Wood</option> <option value="Paper">Paper</option> <option value="Printed Material">Printed Material</option> <option value="Scrap">Scrap</option> <option value="Footwear">Footwear</option> <option value="Cement">Cement</option> <option value="Ceramic">Ceramic</option> <option value="Glass">Glass</option> <option value="Metals">Metals</option> <option value="General Cargo">General Cargo</option> </select> </div> <div class="col-6"> <label id="commodityLabel">WEIGHT (KG)</label> <input type="text" class="form-control" placeholder="Default Input" /> </div> </div> </div>
There is a mistake in your jQuery code in the second if statement.您的 jQuery 代码在第二个 if 语句中有错误。 You need to check the conditioning after the
||
您需要检查
||
后的调理too.也。 Here is the working code in my CodePen https://codepen.io/TheLazyPanda/pen/ZEWajVO .
这是我的 CodePen https://codepen.io/TheLazyPanda/pen/ZEWajVO 中的工作代码。
$(function() {
$('#commoditySelect').change(function() {
if ($('#commoditySelect').val() === 'Ecommerce') {
$('#commodityLabel').text('WEIGHT (KG)');
} else if ($('#commoditySelect').val() === 'Machinery' || $('#commoditySelect').val() === 'Electronics') {
$('#commodityLabel').text('CARGO VALUE');
} else {
$('#commodityLabel').text('NO. OF SHIPMENT');
}
});
});
This version does the same thing:这个版本做同样的事情:
$('#commoditySelect').change(function() { const labels={Ecommerce:'WEIGHT (KG)',Machinery:'CARGO VALUE',Electronics:'CARGO VALUE'}; $('#commodityLabel').text(labels[$(this).val()] || 'NO. OF SHIPMENT'); });
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous" /> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> <div class="container"> <div class="row"> <div class="col-6"> <label>COMMODITY</label> <select class="form-control" id="commoditySelect"> <option value="Ecommerce">E-Commerce</option> <option value="Machinery">Machinery</option> <option value="Plastics">Plastics</option> <option value="Clothing & Textile">Clothing & Textile</option> <option value="Eyewear">Eyewear</option> <option value="Electronics">Electronics</option> <option value="Personal Effects">Personal Effects</option> <option value="Automobile Spares">Automobile Spares</option> <option value="Food Products">Food Products</option> <option value="Livestock Feed">Livestock Feed</option> <option value="Cosmetics">Cosmetics</option> <option value="Chemicals">Chemicals</option> <option value="Pharmaceutical Products">Pharmaceutical Products</option> <option value="Fertilizer">Fertilizer</option> <option value="Rubber">Rubber</option> <option value="Wood">Wood</option> <option value="Paper">Paper</option> <option value="Printed Material">Printed Material</option> <option value="Scrap">Scrap</option> <option value="Footwear">Footwear</option> <option value="Cement">Cement</option> <option value="Ceramic">Ceramic</option> <option value="Glass">Glass</option> <option value="Metals">Metals</option> <option value="General Cargo">General Cargo</option> </select> </div> <div class="col-6"> <label id="commodityLabel">WEIGHT (KG)</label> <input type="text" class="form-control" placeholder="Default Input" /> </div> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.