【问题标题】:Select onchange and custom text field value选择 onchange 和自定义文本字段值
【发布时间】:2014-11-02 14:04:45
【问题描述】:

我在下面选择了选项

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

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您应该将值传递给.val() 方法。在不传递值的情况下,.val() 作为 getter 返回元素的当前值。所以会发生什么是您获取值并使用== 运算符将其与3 进行比较。代码有效地 没有做任何事情。

    $('#order_discount_id').val(3);
    

    对于赋值,应使用= 运算符,但不能在赋值左侧使用值。

    Edit: If the value should be 2 when the select's value is not 6, you should add a else block to your code.另一种选择是使用conditional (ternary) operator

    $('#order_package_id').change(function() {
        $('#order_discount_id').val( this.value == 6 ? "3" : "2" );
    });
    

    【讨论】:

    • 你的答案是正确的。但是如果我点击选择值== 5,文本字段值仍然是3..如何使它变回值=2
    • 它工作完美!非常感谢你的帮助。欣赏!
    【解决方案2】:

    要设置值,请将其传递给val() 方法:

    $('#order_package_id').change(function() {
      if($(this).val() == 6) {
        $('#order_discount_id').val(3);
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 2023-03-13
      • 2016-05-22
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      相关资源
      最近更新 更多