语义UI下拉有问题。
我一直在使用Semantic-Ui,并且想要动态地改变下拉选项。 也就是说,当我从第一个下拉列表中选择值时,第二个下拉列表的项目将会改变。 但事情是,当项目更改时,第二个下拉菜单不能选择, 的值不会改变。下拉菜单不会倒退。语义UI动态下拉
该HTML
第一个下拉
<div id="programmetype" class="ui fluid selection dropdown">
<input type="hidden" name="programmetype">
<div class="text">Choose..</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="val1">Car</div>
<div class="item" data-value="val2">Tank</div>
<div class="item" data-value="val3">Plane</div>
</div>
</div>
第二个下拉
<div id="servicetype" class="ui fluid selection dropdown">
<input type="hidden" name="servicetype">
<div class="text">Choose..</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="select">Choose..</div>
</div>
</div>
...................... ....
jQuery的
$("#programmetype").dropdown({
onChange: function (val) {
if (val == "val1")
{
$('#servicetype .menu').html(
'<div class="item" data-value="val1">Saloon</div>' +
'<div class="item" data-value="val2">Truck</div>'
);
};
if (val == "val2")
{
$('#servicetype .menu').html(
'<div class="item" data-value="val1">Abraham</div>' +
'<div class="item" data-value="val2">Leopard</div>' +
);
};
if (val == "val3")
{
$('#servicetype .menu').html(
'<div class="item" data-value="val1">Jet</div>' +
'<div class="item" data-value="val2">Bomber</div>' +
);
};
}
});
不幸的是,这将覆盖前一个组件的状态,这意味着你失去任何存储的“默认”。我提交了一个错误报告:https://github.com/Semantic-Org/Semantic-UI/issues/953 – Gili
另外请注意,这会导致所有内部事件处理程序再次被添加 - 因此“更改”事件将被触发两次。对我而言,这是不可取的。 –
注意:正如上面提到的问题,从v.1.0开始,正确的方法是'$('。ui.dropdown')。dropdown('refresh');' –