Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery handsontable中下拉单元格数据的动态设置_Jquery_Handsontable - Fatal编程技术网

Jquery handsontable中下拉单元格数据的动态设置

Jquery handsontable中下拉单元格数据的动态设置,jquery,handsontable,Jquery,Handsontable,您好,这是我开始使用Handsontable,我正在尝试实现一种功能,其中一个单元格的下拉值取决于另一个单元格的值。 在单元格1的更改事件中,我想将新数据源加载到第2行,这是一个下拉单元格 当用户在hotel单元格中选择一个值时,将进行ajax调用以查找房间类型。我希望房间类型可以在“已更改的酒店”字段旁边的“房间类型”单元格中找到 请帮我这个忙。 谢谢为了触发单元格1中的更改,您可能需要查看一下。 然后您可以使用更新单元格编号2的数据源。 最后,看一看,因为下拉列表是基于自动完成的,所以它将以

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

当用户在hotel单元格中选择一个值时,将进行ajax调用以查找房间类型。我希望房间类型可以在“已更改的酒店”字段旁边的“房间类型”单元格中找到

请帮我这个忙。
谢谢

为了触发单元格1中的更改,您可能需要查看一下。
然后您可以使用更新单元格编号2的数据源。
最后,看一看,因为下拉列表是基于自动完成的,所以它将以相同的方式工作

您的代码如下所示:

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({...})
                     }
                 )
            }
        }
var myTable=newhandsontable($(…){
...,
变更后:功能(变更,来源){
//根据文档选择要触发的源
如果((源==“编辑”| |源==“自动填充”| |源==“粘贴”))
{
/*如果您的handsontable中有多行,则
更改数组在表中每行有一行*/
对于(变量i=0;i
谢谢,但现在我的代码没有发出ajax请求,下面是代码`afterChange:function(change,source){if((source=='edit'| | source=='autofill'| | source=='paste'| | source=='edit'&change[0][1]==6&&change.length==1)){hot.setCellMeta(change[0][1],7,'source',function(){$.ajax({url:'get_room_types',dataType:'json',method:'get',data:{hotel_name:change[0][3]},success:function(response){process(response.data);}}}}}}}尝试更改条件中的括号
if((source='edit'| | source='autofill'| | source=='paste')&&change[0][1]==6&&change.length==1)
,在setCellMeta中,使用change[0][1]作为行号,但它是列号。我想你更改了url,因为我认为这个url不起作用。我已经做了更改,但ajax请求仍然没有被调用。你能在你的问题中添加更大部分的代码吗?这是相同的[链接]()