2014-11-02 32 views
1

我下面电平变化选择和自定义文本字段值

<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,则文本字段将发生变化,以价值=“3”

我已经与下面的jQuery的,但没有运气尝试

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

回答

1

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

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

用于分配的=经营者应当使用,但你不能对转让的左侧使用的值。

编辑:如果当选择的值不是6时值应该是2,则应该在代码中添加else块。另一种选择是使用conditional (ternary) operator

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

你的答案是正确的。但是,如果我点击选择值== 5,文本字段值仍然是3 ..如何使它变回值= 2 – AmirolAhmad 2014-11-02 14:14:47

+0

它的工作完美!非常感谢你的帮助。欣赏它! – AmirolAhmad 2014-11-02 14:20:20

+0

@AmirolAhmad非常欢迎您! – undefined 2014-11-02 14:20:40

1

要设置的值,将它传递给val()方法:

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

你的回答是正确的.. tq! – AmirolAhmad 2014-11-02 14:15:18