如何将更改操作添加到没有ID和数组的单选按钮?

时间:2014-12-29 08:32:53

标签: c# asp.net-mvc razor

我用表格中的值填充表格。

<tbody>
  @for (int i = 0; i < Model.Options.Count; i++)
  {
    ...
    ...

    <tr>
        <td>
            @Html.EditorFor(m => Model.Option[i].Date, new {id = Model.Option[i].OptionId})
        </td>
    </tr>
    <tr>
        <td>
            @Html.EditorFor(m => Model.Options[i].Completed, new {id = Model.Option[i].OptionId})
        </td>
    </tr>

    ...
    ...
  }
</tbody>

我需要将Change操作添加到每个表单选按钮(已完成),如果它为真,则将为不可用日期(将使其不可编辑),但问题是:

如何添加.change(function(){...});到单选按钮而不知道它的Id(在$(#...)中使用它)? 另外,如何仅更改当前选项的日期,其中单选按钮状态已更改?

P.S抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

首先要添加.change(function(){...});到tbody中的所有单选按钮。无需通过id找到单独的单选按钮。

要禁用日期,请找到更改单选按钮左侧的表单元素。当用户单击单选按钮时,您知道单击了哪个单选按钮。使用JQUERY,您可以轻松找到以前的表单兄弟元素。更多详情:http://api.jquery.com/prev/

如果你确实需要识别单选按钮,有两种选择:

  1. 通过将文本附加到日期的ID来为收音机创建ID。所以id =“radioBtn-OptionId”

  2. 使用日期字段的ID作为单选按钮上的类。然后使用JQUERY按类而不是ID查找单选按钮。