@foreach (var item in Model)
{
<div class="RoundedCorner" style="z-index: auto; width:500px; background-color:White; margin-left:50px; padding-left:20px"><br />
<br />
<h4> @Html.Raw(item.Title)</h4>
<br />
<br />
@Html.Raw(item.Message)
<br />
<div id="divSign" style=" text-align:right; margin-right:30px">
<input type="hidden" id="hidden" value="@item.MeId" />
<img onclick="ding()" id="ding" style="cursor:pointer" alt="" src="/Content/themes/base/images/85.gif"/>
@Html.Label(item.dingCount.ToString())
<img onclick="cai()" id="cai" style="cursor:pointer" alt="" src="/Content/themes/base/images/86.gif" />
@Html.Label(item.caiCount.ToString())
</div>
</div>
}
我设置每个页面显示三条数据,也就是3个div,这里我想把item.MeId的值通过ajax传到控制器的方法中,当用js获取input 的value值时,因为三个input的id是相同的,所以js会默认只获取第一个input中的value的值,第二个和第三个div中的input获取不到:
请大家看一下,有没有什么办法,或者其它思路!
用jQuery不行吗?
大概这么写:
var IDs = '';
$("[id='hidden']").each(function(){
IDs = IDs + $(this).val() + ",";
});
这样把ID组成一个逗号分隔的字符串。
<input type="hidden" id="hidden@item.MeId" value="@item.MeId" />
想了....但是没办法判断是哪个Div中的标签调用了js方法
@宗吾——专注.NET: input的ID已经区分了,你可以$("#hidden1").parent()得到DIV啊
不要用ID,用Name。应该可以取到三个值,并且是一个数组吧。
可以同一个class进行标识。
@foreach (var item in Model){
string id=item; //组成一个123的字符串
<input type="hidden" id="hidden" value="@id" />
}
通过AJAX.BeginForm提交表单,然后在后台接收Request["隐藏域的name值"],隐藏域的是123的字符串,然后在后台通过遍历下字符串,就获取了前台循环的id号。
不知道是不是你想要的,希望对你有点帮助。
js可以通过名字去获取
MVC接收传值时可以接收数组的