2014-11-02 65 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