我正在使用价格表。它有多个计划与数量文本框。每个计划都有提交按钮。因此,用户可以更改文本框的值。通过单击Submit函数,特定的定价表值应传递给ajax函数。
HTML程式码:
<div class="pricing_table">
<h3 class="title">RD195</h3>
<span class="price">Rs.195</span>
<ul class="features">
<li>10 items</li>
<li>Unlimited</li>
<li><input type="text" class="discountAmount" value="176" style="width:75px;" /></li>
<li>7 Days</li>
</ul>
<a href="#" class="btn btn-default" onclick="javascript:Plans.Subscribe('RD195','RDPurchase','195');return false;">Subscribe</a>
<%--<a href="#" class="btn btn-default" onclick="return vas_confirmcandi('RD195','RDPurchase','195')">Subscribe</a>--%>
</div>
</div>
<div class="pricing_table">
<h3 class="title">RD545</h3>
<span class="price">Rs.545</span>
<ul class="features">
<li>50 items </li>
<li>Unlimited</li>
<li><input type="text" class="discountAmount" value="491" style="width:75px;" /></li>
<li>30 Days</li>
</ul>
<a href="#" class="btn btn-default" onclick="javascript:Plans.Subscribe('RD545','RDPurchase','545');return false;">Subscribe</a>
<%--<a href="#" class="btn btn-default" onclick="return vas_confirmcand('RD545','RDPurchase','545')">Subscribe</a>--%>
</div>
我想采用折价金额的值来传递ajax函数。但是,当我单击第二个表金额545时,submit函数始终采用第一个值176
我的Ajax代码:
Plans.Subscribe = function (planName, Description, amount){
var data = $('input[class=discountAmount]').val();
$("#wait").show();
if (planName != undefined) {
$.ajax({
type: "POST",
url: "/plans/getdetail",
data: { 'Plan': plan, 'Type': Description, 'Amount': amount, 'DiscountAmount': data },
dataType: "json",
success: function (response) {
if (response.Success) {
$("#wait").hide();
} else {
$("#wait").hide();
}
},
error: function (xhr, status, error) {
$("#wait").hide();
}
});
}
};
$('input[class=discountAmount]').val()
或更通常写为$('input.discountAmount').val()
总是将返回与该选择器匹配的第一个输入的值。您需要指定所需的WHICH输入,而不是使用class指定所有输入.discountAmount
。
最简单的方法是为每个输入分配一个ID,该ID具有您已经传递给函数的一些值。举个例子planName
。那你就可以做$('#' + planName).val()
您的输入应如下所示:
<input type="text" id="RD195" class="discountAmount" value="176" style="width:75px;" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句