选择onchange和自定义文本字段值

时间:2014-11-02 14:04:46

标签: javascript jquery

我选择了下面的选项

<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;
  }
});

2 个答案:

答案 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);
  }
});