Php 如何在动态生成的div中定位Jquery.load函数
简称: 如何在动态生成的div中使用Jquery.load函数,但目标是未单击的ID 我的想法是,我有一个按钮,每次使用jquery的“$().append()”功能单击“name+(sequential id)”,都会添加新的div。将Div添加到页面后,“$().load()”将用两个选择框和另一个Div填充该Div 加载后,用户可以使用第一个选择框选择值 当选择值时,Jquery中的“$().on('click')功能也会检查是否单击并更改了第一个选项框 此时,在选择并更改第一个选项框后,将使用“().load()”更新第二个选项框周围的“#ajax-load-1”div。这是我无法获取“.load”以查看div的ID的地方 我做了很多搜索,空手而归,找到了很多关于如何使用.on(“单击”)的教程,以获取动态生成的元素的ID,而不是未单击的元素的ID 下面是上述代码的简化示例 Html:Php 如何在动态生成的div中定位Jquery.load函数,php,jquery,dom,load,onchange,Php,Jquery,Dom,Load,Onchange,简称: 如何在动态生成的div中使用Jquery.load函数,但目标是未单击的ID 我的想法是,我有一个按钮,每次使用jquery的“$().append()”功能单击“name+(sequential id)”,都会添加新的div。将Div添加到页面后,“$().load()”将用两个选择框和另一个Div填充该Div 加载后,用户可以使用第一个选择框选择值 当选择值时,Jquery中的“$().on('click')功能也会检查是否单击并更改了第一个选项框 此时,在选择并更改第一个选项框后,
尝试使用事件委派 替换
$("#select-1").change(function(){
与
并移除包围它的单击事件
如果您提供的HTML
是您希望在应用程序中看到的
$(document).on('change', '#select-1', function(){
var divId = $(this).next('div').attr('id');
$("#" + divId ).load("../php/" + divId + '"php");
});
为什么要在
单击中嵌套更改事件event@Sushanth因为他对事件委托的工作方式感到困惑。我认为他当前的应用程序设计是尝试利用迭代器创建新元素,所以#select-1
应该是[id^=select]
,在他的函数中,他应该使用var theID=$(this).prop('id').split('-')[1]
来获取int值
。然后他可以在针对其他元素时将其用作选择器,“ajax加载-”+theID
等等。感谢您的帮助和建议,我将实施这些更改并返回我的结果!按建议进行调整,一切正常谢谢您的回答!
$("#select-1").change(function(){
$(document).on('change', '#select-1', function(){
$(document).on('change', '#select-1', function(){
var divId = $(this).next('div').attr('id');
$("#" + divId ).load("../php/" + divId + '"php");
});