我有一个名为data的变量数组,对于IGcombobox数据源,我想在点击我的#select时更改数组,我该怎么做?使用此代码,它不会更改变量。我也可以使用php,但我不想这样做!
<div id="checkboxSelectCombo" name="kanal" style="position:absolute;" ></div>
<select id="seade" name="seade">
<?php for($i = 1; $i <= $devi; $i++) {
echo '<option value="' . $i . '">' .$device_name[$i]. '</option>';
} ?>
</select>
$(function () {
var data = [
{ ID: "1", Name: "Vooluandur 1" },
{ ID: "2", Name: "Meeter 1" }
];
$("#seade").on('click', function(event) {
console.log($("#seade").val());
if ($("#seade").val() == 2) {
var data = [
{ ID: "3", Name: "Vooluandur 2" },
{ ID: "4", Name: "Meeter 2" }
];
}
});
$("#checkboxSelectCombo").igCombo({
width: "100px",
dataSource: data,
textKey: "Name",
valueKey: "ID",
multiSelection: {
enabled: true,
showCheckboxes: true
}
});
});
答案 0 :(得分:2)
你可以试试这个:(虽然没有运行)
$("#seade").on('change', function(event) {
if (this.value == 2) {
data = [
{ ID: "3", Name: "Vooluandur 2" },
{ ID: "4", Name: "Meeter 2" }
];
}
});
答案 1 :(得分:0)
我找到了一个解决方案,因为更改数据变量不会影响igCombo数据源,我可以像这样更改datasouce变量
var data2 = [{
ID: "3",
Name: "Vooluandur 2"
},
{
ID: "4",
Name: "Meeter 2"
}
];
$("#seade").on('change', function(event) {
if (this.value == 2) {
$("#checkboxSelectCombo").igCombo({
dataSource: data2,
textKey: "Name",
valueKey: "ID",
});
}
});
答案 2 :(得分:0)
已经找到了一些可以刷新数据源的东西,希望它可以正常工作
你更新下面的“数据”变量放在这行
$(“#checkboxSelectCombo”)。igCombo(“option”,“dataSource”,data);
这应该更改dataSource并重新绑定组合。