基本上我在这里有一个按钮,它将一个新的列表项添加到一个无序列表中。在这个列表项中有一个下拉框(.formSelector),当更改触发ajax调用以获取同一列表项中另一个下拉框(.fieldSelector)的值时。jquery - DOM遍历问题
的问题是在这条线:
$(this).closest(".fieldSelector").append(
如果我正确的第二个框将更新其更改为
$(".fieldSelector").append(
。这样做的问题是,当我有多个列表项时,它会使用类fieldSelector更新页面上的每个下拉框,这是不可取的。我如何遍历DOM来选择当前列表项中的fieldSelector?任何帮助是极大的赞赏。
完整代码:
$("button", "#newReportElement").click(function() {
$("#reportElements").append("<li class=\"ui-state-default\"> <span class=\"test ui-icon ui-icon-arrowthick-2-n-s \"></span><span class=\"ui-icon ui-icon-trash deleteRange \"></span> <select name=\"form[]\" class=\"formSelector\"><? foreach ($forms->result() as $row) { echo "<option value='$row->formId'>$row->name</option>"; }?></select><select class=\"fieldSelector\" name=\"field[]\"></select></li>");
$(".deleteRange").button();
$('.formSelector').change(function() {
var id = $(this).val();
var url = "<? echo site_url("report/formfields");?>" + "/" + id;
var atext = "ids:";
$.getJSON(url,
function(data){
$.each(data.items, function(i,item){
$(this).closest(".fieldSelector").append(
$('<option></option>').val(item.formId).html(item.formLabel)
);
});
});
});
return false;
});
完美。谢谢! – David 2010-04-25 19:08:18
很高兴为你效劳。干杯! – Anurag 2010-04-25 22:10:12