【问题标题】:How to bind jQuery event when ASP.NET MVC renders ModelASP.NET MVC渲染模型时如何绑定jQuery事件
【发布时间】:2014-03-05 19:16:50
【问题描述】:

我在 Requisition.cshtml 下有以下 HTML 代码

    foreach (var item in Model.RequisitionWorks)
    {
        <tr>
            <td><div class="radio"><label name="@string.Format("Option_{0}", item.OptionNumber)">@item.OptionNumber</label></div></td>
           <td>
               <div class="radio">
                  <label>@Html.RadioButton(string.Format("Option_{0}", @item.OptionNumber), 
"0", @item.IsOptionChecked("0"), new { @class = "OptionClass", id = string.Format("Option_None_{0}", @item.ToothNumber) }) @MyModelEntities.Properties.Resource.None
    </label>
  </div>
</td>

而且我生成了很多单选按钮...

所以我想在渲染代码时绑定一些 jQuery 事件。

  $("#Option_None_" + optionNumber).change(function () {
  });

我需要它,因为我会即时生成 id 的 html 标记。

可以吗?

【问题讨论】:

    标签: c# javascript jquery asp.net-mvc rendering


    【解决方案1】:

    为什么不使用选项的类而不是 id 来应用?

    $(document).ready(function(){
      $(".OptionClass").change(function () {
       });
    });
    

    【讨论】:

    • 我想使用单选按钮的动态生成 ID,不要使用 CLASS。
    【解决方案2】:

    您可以使用 .on jquery 方法 (http://api.jquery.com/on/) 来做到这一点。为此,您将选择包含的 div,然后为其中的输入设置 onchange。

    $('div.radio').on('change', 'input', function() {});
    

    编辑:如果你给单选按钮一个通用类并使用上述方法,那么做你想做的事情会容易得多。一般来说,没有必要使用像 id 这样唯一的东西来将相同的事件处理程序附加到每个事件处理程序。

    【讨论】:

    • 我想使用单选按钮的动态生成 ID,不要使用 CLASS。
    • 为什么不用这个类?如果您需要查看选择的内容,您可以随时通过函数内部的$(this) 查看所选输入的属性。
    猜你喜欢
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多