Javascript 我的脚本只返回第一项
我正在使用asp.net/c#进行编码,并尝试使用ajax获取产品的id和数量。问题是,我的代码只识别第一个项目,否则,如果我试图输入第三个产品的数量,我会得到一个错误,说我没有提供任何数量 这是我的密码:Javascript 我的脚本只返回第一项,javascript,c#,asp.net-ajax,Javascript,C#,Asp.net Ajax,我正在使用asp.net/c#进行编码,并尝试使用ajax获取产品的id和数量。问题是,我的代码只识别第一个项目,否则,如果我试图输入第三个产品的数量,我会得到一个错误,说我没有提供任何数量 这是我的密码: <script type="text/javascript"> $(function() { $('.Sendparams').click(function (e) { e.preventDefault(); debugger; // var
<script type="text/javascript">
$(function() {
$('.Sendparams').click(function (e) {
e.preventDefault();
debugger;
// var id = $(this).attr('id');
var quant = $("#quant").val();
var id = $("#id").val();
$.ajax({
type: 'GET',
url: '/ShoppingCart/AddToCart',
data:{ "id": id , "quant": quant },
success: function (response) {
$("#mainContainerCenter").html(response); } });});
});
</script>
<section class="content">
<!-- Small boxes (Stat box) -->
<div class="row">
@foreach (var album in Model.Produits)
{
<div class="col-lg-3 col-xs-6">
@Html.Hidden("id", album.ProduitId, new { @id = "id" })<br/>
@album.Nom_Produit<br />
@album.Categorie.Nom_categorie<br />
@String.Format("{0:F}", album.Prix)<br />
@Html.TextBox("quant", null, new { id = "quant" })<br />
@Html.ActionLink("voila", "AddToCart", "ShoppingCart", new { id = album.ProduitId }, new { @class = "Sendparams" })<br />
</div>
}
</div>
$(函数(){
$('.Sendparams')。单击(函数(e){
e、 预防默认值();
调试器;
//var id=$(this.attr('id');
var quant=$(“#quant”).val();
var id=$(“#id”).val();
$.ajax({
键入:“GET”,
url:“/ShoppingCart/AddToCart”,
数据:{“id”:id,“quant”:quant},
成功:功能(响应){
$(“#mainContainerCenter”).html(响应);}}});
});
@foreach(Model.Produits中的var相册)
{
@Html.Hidden(“id”,album.produtid,new{@id=“id”})
@相册名称产品
@唱片集分类名称分类
@String.Format(“{0:F}”,album.Prix)
@TextBox(“quant”,null,new{id=“quant”})
@ActionLink(“瞧”、“AddToCart”、“ShoppingCart”、新的{id=album.produtid}、新的{@class=“Sendparams”})
}
id
属性将是uniq值。在您的情况下,id
不是uniq,您可以对所有项目使用“quant”值(id=“quant”)。如果我正确理解了您尝试执行的操作,这是代码可以帮助的:
$(“.item”).submit(函数(事件){
$('#单击EDID')。文本(
$(this.find('input[name=“id”]).val()
);
$('#clickedquant')。文本(
$(this.find('input[name=“quant”]”)val()
);
console.log($(this.find('input[name=“quant”]”)和.val();
event.preventDefault();
});代码>
点击id:;数量:
id必须是唯一的我的代码中到底出了什么问题??您在多个地方使用了相同的id(quant
)$(“#quant”)
仅返回id为quant
的第一个元素。使用一个类。我尝试了这个类,但没有工作。我尝试了这个代码,但我仍然遇到了同样的问题,它只识别第一个项目。尝试将calss名称添加到表单中,例如:@using(Html.BeginForm(“ActionName”,“ControllerName”,new{ReturnUrl=ViewBag.ReturnUrl},FormMethod.Post,new{@class=“item”})){etc.}和change$(“.Sendparams”)。提交到$(“.item”)。submiti做了这些更改,但仍然是错误的我只得到了第一个项目我从未使用过它,但现在当我尝试它时,它不可能放进去,只能识别html