我选择了下面的选项
<select id="order_package_id" class="form-control" name="order[package_id]">
<option value="1">KJ01</option>
<option value="2">KJ02</option>
<option value="3">KJ03</option>
<option value="4">KJ04</option>
<option value="5">KJ DELUXE</option>
<option value="6">KJO6</option>
</select>
和一个隐藏
默认值的文本字段<input id="order_discount_id" class="form-control" type="hidden" value="2" name="order[discount_id]">
我的问题是我想在选择值为== 6时进行,然后文本字段将更改为value =“3”
我尝试使用下面的jquery但没有运气
$('#order_package_id').change(function() {
if($(this).val() == 6) {
$('#order_discount_id').val() == 3;
}
});
答案 0 :(得分:1)
您应该将值传递给.val()
方法。在不传递值的情况下,.val()
作为 getter 返回元素的当前值。那么,您将获得该值并使用3
运算符将其与==
进行比较。代码有效没有做任何事情。
$('#order_discount_id').val(3);
对于作业,应使用=
运算符,但不能在作业的左侧使用值。
修改:如果选项的值不是2
时该值应为6
,则应在代码中添加else
块。另一种选择是使用conditional (ternary) operator:
$('#order_package_id').change(function() {
$('#order_discount_id').val( this.value == 6 ? "3" : "2" );
});
答案 1 :(得分:1)
要设置值,请将其传递给val()
方法:
$('#order_package_id').change(function() {
if($(this).val() == 6) {
$('#order_discount_id').val(3);
}
});