Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Php 如何在动态生成的div中定位Jquery.load函数_Php_Jquery_Dom_Load_Onchange - Fatal编程技术网

Php 如何在动态生成的div中定位Jquery.load函数

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')功能也会检查是否单击并更改了第一个选项框 此时,在选择并更改第一个选项框后,

简称: 如何在动态生成的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:


尝试使用事件委派

替换

$("#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");
 });