【问题标题】:Select a hidden fields value within a table选择表中的隐藏字段值
【发布时间】:2015-11-19 11:32:35
【问题描述】:

我有一个表格,用户可以在其中选择样本。在每一行中都有一个隐藏字段,其中包含一个唯一的 id。我想在数组中获取选中(选中)行的隐藏字段的值,以便将其传递给处理。
到目前为止我得到了什么:

 var data = Array();
 $("#nonScheduledSamples tr").each(function (i) {
     if ($(this).prop("checked")) {
         data[i] = $(this).find("#item_SampleId").val();
     }
 });

表格由MVC局部视图生成:

@foreach (var item in Model.SampleInfo)
{
<tr>
     @Html.HiddenFor(i=>item.SampleId)
     <td class="text-center">@Html.CheckBoxFor(i=>i.Selected)</td>
</tr>
}

这会返回一个空数组给我。非常感谢任何帮助。

更新 #1:
我已经修改了代码,所以 html 看起来像这样:

<input data-sampleid="60815" data-val="true" data-val-required="The Selected field is required." id="SampleIdSelect" name="SampleInfo[0].Selected" type="checkbox" value="true">

和 jquery:

$("#nonScheduledSamples tr input").each(function () {
     if ($(this).prop("checked")) {
          data.push($("#SampleIdSelect").data("sampleid"));
     }
});

目前,数据数组填充了与 data-sampleid 相同的值,但选中的复选框数量相同。我做错了什么?

谢谢提前。

【问题讨论】:

  • 表格由MVC局部视图生成。
  • so html 将有助于查看它生成的内容:) 您的 SampleInfo 数组很可能是空的,因此不会生成任何行,您也可以使用调试器检查它
  • 数据在那里,因为表格显示正确。我的 jquery 部分有问题。
  • @Paxsentry:检查元素,复制 html 然后在这里分享
  • 这是部分视图生成的输入字段代码:

标签: jquery hidden-field


【解决方案1】:

你应该试试这个。

@foreach (var item in Model.SampleInfo)
{
<tr>
     @Html.HiddenFor(i=>item.SampleId ,new { @class="item_SampleId"})
     <td class="text-center">@Html.CheckBoxFor(i=>i.Selected)</td>
</tr>
}

【讨论】:

  • 抱歉,这不起作用。我 100% 确定这是一个 jquery 问题而不是 mvc 剃须刀,这就是为什么我没有向它添加标签
【解决方案2】:

最后的结论:

HTML:

<input data-sampleid="60815" data-val="true" data-val-required="The Selected field is required." id="SampleIdSelect0" name="SampleInfo[0].Selected"  type="checkbox" value="true">

jquery:

$("#nonScheduledSamples tr input").each(function () {
     if ($(this).prop("checked")) {
          var x = this.id.slice(14);
          data.push($("#SampleIdSelect" + x).data("sampleid"));
     }
});

所以对id文本部分进行切片,得到相同id的数据值,可以压入数组。这是一场战斗……

可能有更好的解决方案,如果你有请分享。

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 2023-03-22
    • 2013-04-17
    • 2021-12-08
    相关资源
    最近更新 更多