0
我有一個「賣」的形式,我使用fields_for把有關產品的信息出售。動態字段field_for
這裏是我的fields_for形式:
我想有動態充滿product.price價值的「成本」 text_field當用戶在選擇區域選擇的產品,但我不不知道該怎麼做。事實上,我不知道如何獲得價值,然後把它...
任何人都可以幫助我嗎?
非常感謝。
我有一個「賣」的形式,我使用fields_for把有關產品的信息出售。動態字段field_for
這裏是我的fields_for形式:
我想有動態充滿product.price價值的「成本」 text_field當用戶在選擇區域選擇的產品,但我不不知道該怎麼做。事實上,我不知道如何獲得價值,然後把它...
任何人都可以幫助我嗎?
非常感謝。
我可以想到的兩種方式,你可以做到這一點,都涉及JS。
非Ajax: 構建您的選項,幷包含每個產品的數據屬性。
<option value="<%= product.id %>" data-price="<%= product.price %>"><%= product.name %></option>
然後onchange,只需抓住選定的選項,並把它的數據價格放在成本輸入字段。
$('body').on('change', 'select.products', function(){
var that = $(this),
, costInput = that.parent("fieldset").("input.cost"); # Perhaps if you wrap the elements in a fieldset
costInput.val(that.find('option:selected').val())
});
優點:數據是有 缺點:你將不得不管理自帶的形式傭工「選擇的」部位
阿賈克斯(更好的方法): 添加onchange事件檢索所選產品的價格。
$('body').on('change', 'select.products', function(){
var that = $(this),
, costInput = that.parent("fieldset").("input.cost"); # Perhaps if you wrap the elements in a fieldset
$.ajax({
url: "products/price",
data: {id: that.find('option:selected').val()),
dataType: 'script'
}).done(function (price) {
costInput.val(price)
});
});
優點:無需使用HTML 缺點大驚小怪:想不出什麼值得一提的。
從表單中獲取成本聽起來像一個非常糟糕的主意。在另一端顯示給客戶可能很有用,但最好不要使用輸入。 – giorgian 2013-05-03 14:24:58
事實上,它只是用來獲取信息,它不是爲了顧客,而是爲了賣家。 – eluus 2013-05-03 14:32:02
讓我知道下面的答案是否可以解決您的問題。 – omarvelous 2013-05-09 17:12:46