Jquery handsontable中下拉单元格数据的动态设置
您好,这是我开始使用Handsontable,我正在尝试实现一种功能,其中一个单元格的下拉值取决于另一个单元格的值。 在单元格1的更改事件中,我想将新数据源加载到第2行,这是一个下拉单元格 当用户在hotel单元格中选择一个值时,将进行ajax调用以查找房间类型。我希望房间类型可以在“已更改的酒店”字段旁边的“房间类型”单元格中找到 请帮我这个忙。Jquery handsontable中下拉单元格数据的动态设置,jquery,handsontable,Jquery,Handsontable,您好,这是我开始使用Handsontable,我正在尝试实现一种功能,其中一个单元格的下拉值取决于另一个单元格的值。 在单元格1的更改事件中,我想将新数据源加载到第2行,这是一个下拉单元格 当用户在hotel单元格中选择一个值时,将进行ajax调用以查找房间类型。我希望房间类型可以在“已更改的酒店”字段旁边的“房间类型”单元格中找到 请帮我这个忙。 谢谢为了触发单元格1中的更改,您可能需要查看一下。 然后您可以使用更新单元格编号2的数据源。 最后,看一看,因为下拉列表是基于自动完成的,所以它将以
谢谢为了触发单元格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请求仍然没有被调用。你能在你的问题中添加更大部分的代码吗?这是相同的[链接]()