为什么首次点击时输入触发(仅限)?

时间:2015-02-09 05:51:44

标签: javascript jquery

请参阅此FIDDLE DEMO

$('input:text').trigger('input');

当输入以编程方式更改而不是事件(按键,输入更改)时,我需要触发输入更改。 在我的小提琴上,只有当我第二次点击一个表格行时,输入才会改变。

例如,

1)点击苹果旁边的按钮

2)单击第一行(A1,A2,A3)。

这不会检测到“Apple”输入已更改, 但如果我尝试点击香蕉或樱桃旁边的按钮,现在将检测香蕉或樱桃输入字段的变化。

1 个答案:

答案 0 :(得分:0)

您使用trigger功能是正确的。

在此处添加:

$(clickedButton).parent().prev().find('input').val(tds.eq(0).html());

像这样:

$(clickedButton).parent().prev().find('input').val(tds.eq(0).html()).trigger("input");

另外,请注意此代码:

$("#table1 >* input").each(function() { /**/ }
你的小提琴中的

位于$(document).ready()外面 - 将其移至$(document).ready(),否则你在不完整的DOM上调用它,它也会导致问题