我在包含帶有產品信息的表單的頁面上有多個產品。單選按鈕更新之前的jQuery更新之前的輸入值
產品輸入的默認值是產品的名稱,最後附加了默認的CD。如果用戶選擇「數字下載」,則需要更新產品的價值,並將「-CD」交換爲「 - Digital」。
我已經做了一個粗略的jsfiddle,稍微變化一下以顯示隱藏的輸入。您會注意到,兩個輸入都應該是所選產品內的輸入。
喝彩!
<div class="product">
<form action="" method="post">
<input class="product-input" name="product" type="hidden" value="Cool music vol 1 - CD" />
<label>Select format</label>
<input type="radio" name="type" value="CD" checked="checked">CD
<input type="radio" name="type" value="Digital">Digital Download<br/>
<input type="submit" class="product-buy" value="Buy now!" />
</form>
</div>
<div class="product">
<form action="" method="post">
<input class="product-input" name="product" type="hidden" value="Cool music vol 2 - CD" />
<label>Select format</label>
<input type="radio" name="type" value="CD" checked="checked">CD
<input type="radio" name="type" value="Digital">Digital Download<br/>
<input type="submit" class="product-buy" value="Buy now!" />
</form>
</div>
$(".product").each(function() {
$('input:radio').bind("change",updateFormat);
function updateFormat(e){
e.preventDefault();
var $productValue = $('.product-input').val();
var $productValueSplit = $productValue.split('-')[0];
var $radioValue = $("form input[type='radio']:checked").val();
console.log($productValueSplit + ' - ' + $radioValue);
}
});
林不知道如果我正確地理解你的問題,但你可以用'.attr()'更新值字段。如'$('#yourProductField')。attr(「value」,「theValueYouWantHere」);' – nmac 2014-12-13 02:51:03
感謝您的回答,隊友。我想我已經成功地更新了價值以反映我想要的價值,但現在我的問題是,我無法一次只爲一種產品做。對單選按鈕的任何更改都會影響所有產品。 – Rich 2014-12-13 02:56:54