0

我想在页面加载发生时自动选择下拉列表的第一个元素(使用 jQuery 多选插件)要使用哪个属性?

$('#cmbTicketStatus').multiselect({

  firstchild: 'selected', /* I Guess this is wrong */
  //  noneSelectedText: 'Select Ticket Status',
    selectedList: 1,
    selectedText: '# of # Status Selected'
}).multiselectfilter();
4

5 回答 5

1

我会这样做:

$('#cmbTicketStatus select option:first-child').prop("selected", true);
于 2012-07-31T13:42:00.740 回答
1

这实际上需要多选功能。您正在抓取插件,然后像这里其他有帮助的人已经注释掉一样,需要使用本机点击。

          var o1= $('#cmbTicketStatus').multiselect("widget");
           o1.find(":checkbox").first().click();

希望有帮助/

于 2012-10-02T01:48:38.673 回答
0

Sagar,抱歉耽搁了,我没有收到您的回复通知...

第一个元素是一个复选框,因为它被插件重新设计,1.) 在它创建的下拉列表中找到一组复选框:

            $("select").multiselect("widget").find(":checkbox").each(function(elem, index)
            {

答案 A:使用 is :首先,我们知道 it-s $(this),但也是循环的元素,所以要么

                         if(   $(elem).is(":first")  )  this.click();

或者

                         if(   $(this).is(":first")  )  this.click();  

答案 B:我们正在循环通过插件构建的元素,当我们通过循环时,有什么更好的地方来切换开关?index 是数组的第一个元素,那么显然我们在从 UI 收集元素的第一次交互中就有了它。

                              switch( index) 
                              {   

                                      case 0: this.click(); break;

                                      default: break;

                               }
              });
于 2014-08-06T01:12:01.850 回答
0

这可能不是设计使然,但如果您在选择元素本身中省略“multiple=multiple”,则默认情况下将选择第一个选项。

所以而不是

<select multiple='multiple' id=myselect>

简单地做

<select id=myselect>
于 2019-02-12T21:02:45.267 回答
-1

看起来多选插件不支持选择选择,您必须手动触发点击事件才能选择:

手动选中或取消选中复选框?

调用“小部件”方法后可以访问复选框。只需手动触发它们的原生点击事件:

// manually check (or uncheck) the third checkbox in the menu:
$("select").multiselect("widget").find(":checkbox").each(function(){
   this.click();
});

由于 jQuery 核心中的这个错误,必须使用本机点击事件(触发器('click')将不起作用)。

所有必要的事件和操作,例如更新按钮值,都会自动触发。

或者,您可以为原始选项标签指定 selected 属性,然后调用 MultiSelect 的刷新方法。

来自:http : //www.erichynds.com/jquery/jquery-ui-multiselect-widget/ 希望这是您正在使用的同一个多选小部件。

于 2012-07-31T13:36:59.713 回答