现在我从xml中提取选择下拉选项,当我再次使用它来点击其选项时更新我的文本字段时,它不起作用;
这是DEMO
我知道在第二个演示中,xml不在正确的位置,但我在本地计算机上测试了它并且它不起作用。
感谢任何帮助。 感谢
答案 0 :(得分:2)
我假设您实际上正在使用多个选择。如果是这样,只需将处理程序绑定到select
元素:
$(".generalTemplate").click(function() {
var su = $(this).find(':selected').text();
$("#sub").val(su);
});
这会在单击时找到所选元素,并且在插入后不需要绑定到单个option
元素。
如果您没有使用倍数,则需要绑定到change
事件。
$(".generalTemplate").change(function() {
var selected = $(this).find(':selected');
if( selected.index() > 0 ) {
var su = selected.text();
$("#sub").val(su);
}
});
最终,发生的事情是异步 AJAX调用正在执行其回调函数 之后运行代码来绑定处理程序。
换句话说,代码不会等待AJAX响应在执行之前到达。通过绑定到select
本身,您知道它已在文档中可用,因此没有同步问题。
答案 1 :(得分:1)
您可以尝试使用live:
$(".generalTemplate >option").live("click",function() {
var su = $(this).text();
$("#sub").val(su);
});