![](/img/trans.png)
[英]:: jQuery :: Delete dynamically created new items from different elements with same index
[英]Dynamically created elements all return the same index
我在表中动态创建下拉列表,并且尝试获取触发事件的下拉列表的索引,如下所示:
$(".template").on('change', '.dataTypes', function () {
var selectedDatatype = $(this).find(":selected").val();
var ix = $(this).index(); // get this index
$.ajax({
type: "GET",
url: "http://localhost...",
contentType: "application/json; charset=utf-8",
success: function (result) {
populateListDropdown("gs", ix, result.Result);
},
error: function () { },
timeout: 120000
});
});
不管我与之交互的下拉列表如何,此代码始终为索引返回0,但我不确定为什么。
HTML(如果有帮助)。 该页面在启动时加载了一行,通过单击按钮添加了其他行。
<table class="tblColumns">
<tr>
<td>
<div class="column">
Select DataType :
<select class="dataTypes"></select>
</td>
</tr>
</table>
index()
方法根据其同级对象返回索引。 您的所有下拉菜单都在单独的td
。 因此,所有索引都相同。
您正在寻找tr
index not select
。 尝试
$(this).closest('tr').index();
要进一步阅读,请查看https://api.jquery.com/index/
“如果没有参数传递给.index()方法,则返回值是一个整数,指示jQuery对象中第一个元素相对于其同级元素的位置。”
在您的HTML中,这是唯一的元素,因此始终返回“ 0”。
正如@Azim指出的那样,如果使用,它可能会起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.