以动态方式动态设置下拉单元的数据

时间:2016-06-24 10:47:56

标签: jquery handsontable

嗨,这是我与Handsontable的开始,我正在尝试实现一种功能,其中单元格的下拉值取决于另一个单元格的值。 在单元格1的更改事件中,我想将新数据源加载到第2行,这是一个下拉单元格。

当用户选择酒店单元格中的值时,进行ajax调用以查找房间类型。我希望房间类型可以在更改的酒店区域附近的房间类型单元格中使用。

请帮帮我。 谢谢

1 个答案:

答案 0 :(得分:3)

您可能需要查看afterChange以触发单元格1的更改。
然后,您可以使用setCellMeta更新单元格号2的数据源 最后,看一下autocomplete with ajax source,因为下拉列表是基于自动填充功能的,所以它的工作方式相同。

您的代码将如下所示:

var myTable = new Handsontable($(...), {
    ...,
    afterChange: function (change, source) {
        //choose the source you want to trigger, accordingly to the doc
        if((source == 'edit' || source == 'autofill' || source == 'paste'))
        {
            /*if you have multiples lines in your handsontable, then 
              the change array has one line per line in your table */
            for(var i = 0 ; i < change.length ; i++) {
                // I suppose here cell 2 is in row 2 (second argument)
                myTable.setCellMeta(
                     change[i][0],
                     2,
                     'source',
                     function(query,process) {
                         $.ajax({...})
                     }
                 )
            }
        }