我正在使用定价表。它与Amount Textbox有多个计划。每个计划都提交Button。因此用户可以更改文本框值。通过单击提交函数,特定定价表值应传递给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 的第二个表格时,提交功能总是取第一个值 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();
}
});
}
};
答案 0 :(得分:1)
$('input[class=discountAmount]').val()
的 $('input.discountAmount').val()
或更多内容总是会返回与该选择器匹配的第一个输入的值。您需要指定所需的WHICH输入,而不是指定类.discountAmount
的所有输入。
执行此操作的最简单方法是为每个输入分配一个ID,其中包含您已传递给函数的某些值。例如planName
。那你就可以做$('#' + planName).val()
您的输入将如下所示:
<input type="text" id="RD195" class="discountAmount" value="176" style="width:75px;" />