触发onChange for Semantic UI下拉列表

时间:2014-09-17 01:22:03

标签: jquery semantic-ui

简单地说,我希望能够在语义ui的下拉列表中触发onChange函数。

$(".ui.dropdown").dropdown({onChange:function(value,text){console.log("a");}});

在这里看一个小提琴: http://jsfiddle.net/0mLLscoq/

我想在不点击下拉菜单并关闭它的情况下触发onchange。只需以编程方式强制触发。

1 个答案:

答案 0 :(得分:4)

我找不到任何方法来使用API​​,但一种可能的方法是为每个项目分配一个data-value,然后手动触发该项目的点击:

//HTML
<div class="ui dropdown">
    <div class="text">Select</div>
    <i class="dropdown icon"></i>
    <div class="menu">
        <div class="item" data-value="Edit">Edit</div>
        <div class="item" data-value="Remove">Remove</div>
        <div class="item" data-value="Hide">Hide</div>
    </div>
</div>

//JS
$(".ui.dropdown").dropdown({onChange:function(value,text){console.log("a");}})
                 .find("[data-value='Hide']").trigger("click");

Example Fiddle


更新(2016年3月11日):

正如@Süha在评论中提到的那样,dropdown behavior允许您更改值:

// Will change value and update UI
$('.dropdown').dropdown('set selected', 'Hide');

// Will only change value
$('.dropdown').dropdown('set value', 'Hide');

但这些都不会触发onchange事件。

<强> Example Fiddle