首页 新闻 会员 周边 捐助

ASP.NET MVC ajax传值

0
悬赏园豆:20 [已解决问题] 解决于 2013-10-21 10:25

@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获取不到:

请大家看一下,有没有什么办法,或者其它思路!

YoMe的主页 YoMe | 小虾三级 | 园豆:545
提问于:2013-10-20 16:56
< >
分享
最佳答案
0

用jQuery不行吗?

大概这么写:

var IDs = '';

$("[id='hidden']").each(function(){

IDs = IDs + $(this).val() + ",";

});

这样把ID组成一个逗号分隔的字符串。

收获园豆:20
jone_e | 小虾三级 |园豆:1410 | 2013-10-21 09:11
其他回答(5)
0
<input type="hidden" id="hidden@item.MeId" value="@item.MeId" />
happydaily | 园豆:260 (菜鸟二级) | 2013-10-20 17:04

想了....但是没办法判断是哪个Div中的标签调用了js方法

支持(0) 反对(0) YoMe | 园豆:545 (小虾三级) | 2013-10-20 17:12

@宗吾——专注.NET: input的ID已经区分了,你可以$("#hidden1").parent()得到DIV啊

支持(0) 反对(0) happydaily | 园豆:260 (菜鸟二级) | 2013-10-21 08:53
0

不要用ID,用Name。应该可以取到三个值,并且是一个数组吧。

悟行 | 园豆:12559 (专家六级) | 2013-10-20 20:37
0

可以同一个class进行标识。

<input type="hidden" id="@item.MeId" class="item" value="@item.MeId" />    
//通过$(".item")可以获取3个item的JQuery对象,迭代即可获取相应的对象的value。
//其实我觉得不用另外设定Id或者Name之类的,使用$("input[type=hidden]")也可以获取到对应的value.
kaleyroy | 园豆:360 (菜鸟二级) | 2013-10-20 21:59
0

@foreach (var item in Model){

string id=item; //组成一个123的字符串

  <input type="hidden" id="hidden" value="@id" />

}

通过AJAX.BeginForm提交表单,然后在后台接收Request["隐藏域的name值"],隐藏域的是123的字符串,然后在后台通过遍历下字符串,就获取了前台循环的id号。

不知道是不是你想要的,希望对你有点帮助。

only-time | 园豆:4 (初学一级) | 2013-10-20 23:59
0

js可以通过名字去获取

MVC接收传值时可以接收数组的

平常心队长 | 园豆:1113 (小虾三级) | 2013-10-21 08:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册