【发布时间】:2011-10-16 11:29:11
【问题描述】:
这是我的表单遇到的最后一个问题(希望如此)
我想要做的是将 var size 附加到名为 my-item-name
的隐藏输入中我已经尝试添加这个
form.find('[name=my-item-name]').append(size.val());
但它不起作用。
将大小 val 附加到输入的正确方法是什么?
<form method="post" action="" class="jcart">
<fieldset>
<input type="hidden" name="jcartToken" value="13823c48f896c49403465fcce9f135ac" />
<input type="hidden" name="my-item-id" value="12" />
<input type="hidden" name="my-item-price" value="15.99" />
<input type="hidden" name="my-item-url" value="http://yahoo.com" />
<input type="hidden" name="my-item-name" value="Operation Braveheart hooded sweatshirt" />
<ul>
<li>
<select name="my-select" id="foo12">
<option value='Small'>Small</option>
<option value='Medium'>Medium</option>
<option value='Large'>Large</option>
<option value='X-Large'>X-Large</option>
</select>
</li>
<li>Price: $<span id="price12" class="price">15.99</span></li>
<li>
<label>Qty: <input type="text" name="my-item-qty" value="1" size="3" /></label>
</li>
</ul>
<input type="submit" name="my-add-button" value="add to cart" class="button" />
</fieldset>
</form>
<script type="text/javascript">
var item_prices_by_size12 = { "Small": { "Price": "15.99", "ItemId": "9-1" },"Medium": { "Price": "16.99", "ItemId": "9-2" },"Large": { "Price": "17.99", "ItemId": "9-3" },"X-Large": { "Price": "18.99", "ItemId": "9-4" }};
$(function() {
$('#foo12').change(function() {
var form = $(this).parents('form');
// Size is whatever the value the user has selected
var size = $(this).val();
// Determine the correct price and item ID based on the selected size
var price12 = item_prices_by_size12[size].Price,
itemId = item_prices_by_size12[size].ItemId;
form.find('#price12').text(price12);
form.find('[name=my-item-price]').val(price12);
// Update the item ID
form.find('[name=my-item-id]').val(itemId);
form.find('[name=my-item-name]').append(size.val());
});
});
</script>
【问题讨论】:
-
追加是什么意思?
-
是的,你不追加一个值到输入,你设置它
selector.val('New value'); -
如果这是一个购物车,并且您想将多个产品发送到后端,那么您应该使用
my-item-id[]、my-item-price[]等。