【问题标题】:chosen-select dropdown not working by jquery MVC选择的选择下拉菜单不适用于 jquery MVC
【发布时间】:2017-04-27 16:07:07
【问题描述】:

我在我的 mvc razor 页面中使用带有多个选择的下拉列表和组。我正在关注下面的链接并使用 Multiple Select with Groups 下拉菜单。

Harvest Multiselect Dropdown Link

如果我像下面的示例在剃刀视图中实现它,它工作正常:

....
<select data-placeholder="Search option" id="Mainlist[0].SubList" class="chosen-select" multiple tabindex="6" name="MainList[0].SubList">
     <option value=""></option>
     @foreach (var mainListItem in Model.MainList)
     {
          <optgroup label="@mainListItem.Name">
           @foreach (var subListItem in mainListItem.SubList)
           {
               <option id="report">@subListItem.Name</option>
           }
           </optgroup>
      }
</select>
....

所选下拉菜单的上述剃须刀代码工作正常,如下图所示:

但我需要在 jquery 的按钮单击事件上添加更多的多选下拉菜单。我在 jquery 中尝试了以下代码:

var newRow =
"<select data-placeholder='Search option' id='Mainlist[1].SubList' class='chosen-select' multiple tabindex='6' name='MainList[1].SubList'>" +
        "<option value=''></option>" +
        "<optgroup label='Main List Item 1'>" +
        "<option id='report'>Sub List Item 1.1</option>" +
        "<option id='report'>Sub List Item 1.2</option>" +
        "</optgroup>" +
        "<optgroup label='Main List Item 2'>" +
        "<option id='report'>Sub List Item 2.1</option>" +
        "<option id='report'>Sub List Item 2.2</option>" +
        "</optgroup>" +
        "</select>";

$('#TestTable tr:last').after(newRow);

第一个问题是:我无法在 newRow 变量中实现 foreach 循环。 第二个是:如果我尝试像上面的代码一样手动管理整个列表,那么 List 也不会像下图一样正常出现:

知道是什么原因造成的吗?以及如何使下拉菜单通过 jquery 工作?或者有没有其他方法可以通过 jquery 添加相同的下拉菜单?

我已经从下面的链接尝试过 $(".chosen-select").chosen():

chosen-select link

【问题讨论】:

  • 你试过了吗? $('.chosen-select').trigger('chosen:updated');

标签: jquery asp.net-mvc razor dropdown jquery-chosen


【解决方案1】:

在选择添加到 dom 之后,检查您是否正在初始化选择。 你能告诉我你面临的错误吗?

【讨论】:

  • 嗨,瑞诗。感谢您的快速回答。我怎样才能初始化选择?这是否意味着再次添加脚本?到目前为止,我没有收到任何错误,但是 jquery 下拉列表是作为列表出现的,而不是像第一张图片那样作为选择的下拉列表。
  • 您需要使用此代码初始化选择。 $(".chosen-select").chosen() 。看来您正在动态地将选择附加到 dom 中。所以请检查您是否在将所选内容附加到 dom 后对其进行初始化。
  • 哇,它成功了。其实我试过了,但在错误的地方。非常感谢。
  • 请参考链接jsfiddle.net/Rishi0405/oj3cjw9w/297并检查您是否添加了小提琴中添加的所有外部资源
猜你喜欢
  • 1970-01-01
  • 2013-10-15
  • 2019-02-12
  • 2013-06-13
  • 1970-01-01
  • 2017-01-27
  • 2019-04-23
  • 2014-10-18
  • 1970-01-01
相关资源
最近更新 更多