是否有方法使用current_index add_filter_Form在handleResults()中附加#dimensionName_?
我有以下代码:
this.add_filter_form = function (name, value, status) {
form_count++;
current_index++;
form_status[current_index] = status;
$("#_IWID_Filters_included").append("<div id='filter_" + current_index + "'>" +
"Filter name: <select id = 'dimensionName_" + current_index + "'></select>" +
"Filter value: <select id ='dimensionId_" + current_index + "'></select>" +
"<button type='button' id='remove_btn_" + current_index + "' onclick='filter_forms.remove_filter_form(" + current_index + ")' style='margin-top: 5px; margin-bottom: 5px;'>Remove filter</button>" +
"</div>");
}
function handleResults(responseObj)
{
//Populates every dimensionName_[current_index] with names:
$("#dimensionName_").html(responseObj.DimensionListItem.map(function(item)
{
return $('<option>').text(item.dimensionDisplayName)[0];
}));
}
我正在寻找以下效果:
$("#'dimensionName_ + current_index'")
答案 0 :(得分:1)
根据我的理解,您通过add_filter设置current_index并在handleResults内异步地需要此值。因此,您需要使此变量全局可用:
var current_index = 0;
this.add_filter_form = ...
function handleResults(responseObj){
$("#dimensionName_" + current_index).html();
}
答案 1 :(得分:1)
您需要将当前索引变量传递给handleResults函数。您还需要在current_index变量的范围内调用该函数,或者在其他函数中将副本保存在对象范围内。所以你可以使用this.current_index
function handleResults(responseObj, current_index) {...
你需要连接字符串。只需使用+符号即可。
$("#dimensionName_"+current_index)...