这是我的HTML代码的一部分:
@foreach (var product in Model)
{
<label>Amount</label>
<div class="col-md-10">
<input type="text" name="amounter" id="amounter" required />
</div>
}
这是我的剧本:
<script type="text/javascript">
$(".btn.btn-info.btn-lg-add").click(function(event)
{
event.preventDefault();
var url;
if ($("#amounter").val() == undefined || $("#amounter").val() == null) {
url = '@Html.Raw(Url.Action("NoAmount", "Cart"))';
}
else {
var url = '@Html.Raw(Url.Action("AddToCart", "Cart", new {idinput = "IDI",amount="AM"}))';
url = url.replace("AM", $("#amounter").val());
url = url.replace("IDI", $(this).data("id"));
}
window.location.href = url;
});
</script>
请注意,每个文本后都有一个唯一的按钮。
显然,由于重复,我在id="amounter"
上遇到了问题。因此,这不是正确的代码。
因此,由于我有多个文本(由于foreach
),我如何引用特殊文本?
答案 0 :(得分:1)
正如您所说,每个文本后面都有一个唯一的按钮。那么如果输入文本元素位于左侧,则可以这样找到它:
$(".btn.btn-info.btn-lg-add").on('click', function(){
text = $(this).prev('input').val();
});
如果输入是在此之后,则可以这样找到它:
$('.btn.btn-info.btn-lg-add').on('click', function(){
text = $(this).next('input').val();
});
答案 1 :(得分:0)
您可以添加一个数字,以便ID是唯一的
@{int i = 0;}
@foreach (var product in Model)
{
<label>Amount</label>
<div class="col-md-10">
<input type="text" name="amounter" id="amounter_@(i)" required />
</div>
</div>
i++;
}
答案 2 :(得分:0)
您可以使用$('input[name="amounter"]')
进行引用
,您可以通过console.log()检查该值;
,当您想要获取数据时,可以使用
$.map($('input[name="amounter"]'),function(c){return c.value;});
答案 3 :(得分:0)
嗨,伙计可能会帮助您
$.each($("[name=amounter]"), function (index, data) {
console.log($("[name=amounter]:eq("+index+")").val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Amount1</label>
<div class="col-md-10">
<input type="text" name="amounter" id="amounter_@1" required value="data1" />
</div>
<label>Amount2</label>
<div class="col-md-10">
<input type="text" name="amounter" id="amounter_@2" required value="data2" />
</div>
<label>Amount3</label>
<div class="col-md-10">
<input type="text" name="amounter" id="amounter_@3" required value="data3"/>
</div>