如何更改数组变量

时间:2017-03-20 11:10:56

标签: javascript jquery arrays

我有一个名为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
    }
  });
});

3 个答案:

答案 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",
        });
    }
});

文档来源:http://www.igniteui.com/help/igcombo-data-binding

答案 2 :(得分:0)

已经找到了一些可以刷新数据源的东西,希望它可以正常工作

你更新下面的“数据”变量放在这行

$(“#checkboxSelectCombo”)。igCombo(“option”,“dataSource”,data);

这应该更改dataSource并重新绑定组合。