【问题标题】:Pass a model value to Jquery function将模型值传递给 Jquery 函数
【发布时间】:2018-11-12 11:21:37
【问题描述】:

当单击超链接时,我试图将模型的值传递给 jquery 函数 (openBookingSnap)。 但我无法获得传递的价值。 这是我的 CSHTML 代码。请告诉我我在这里缺少什么?

 @model List<Model.Booking> 
 @using (Html.BeginPanel(true))
 {
   <table>
    <tr>
        @for (int i = 0; i < Model.Count; i++){
          if (i > 0 && i % 3 == 0)
          {
            @:</tr><tr> 
          }
          <td>
            <div id="dataListItem" style ="width: 90px"><a style="cursor: pointer;" onclick="VslVoy.Ux.openBookingSnap(Model[i].bkgNoUid);">@Html.DisplayFor(m => Model[i].bkgNo)</a></div>
          </td>
        }
     </tr>
 </table>

 }

【问题讨论】:

  • 使用@ 和如果bkgNoUid 是字符串,用引号括起来,即onclick="VslVoy.Ux.openBookingSnap('@Model[i].bkgNoUid');"
  • 由于id attributes 重复,您的 html 无效。请改用&lt;div class="dataListItem" ...&gt;。推荐的方法是将data-val-bkgNoUid="@Model[i].bkgNoUid" 属性添加到&lt;div&gt; 并使用 $('.dataListItem').click(function() { var id = $(this).data('bkgNoUid'); .... . });`

标签: jquery asp.net-mvc razor model


【解决方案1】:

我认为你在模型之前缺少@ - 试试这样

onclick="VslVoy.Ux.openBookingSnap(@(Model[i].bkgNoUid));"

希望它有效 - 编码快乐!!

【讨论】:

  • 没问题 - 编码愉快 :)
猜你喜欢
  • 2013-11-17
  • 2013-06-25
  • 2019-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 2018-09-01
  • 2021-03-22
相关资源
最近更新 更多