Javascript 选择的jquery插件未使用<;更新;optgroup>;
这里发生了奇怪的情况。我正在使用jquery插件selected.js。我正在使用ajax调用和jquery更新页面上已有的下拉列表。下面是一些示例代码。 这是我的下拉列表,如页面所示Javascript 选择的jquery插件未使用<;更新;optgroup>;,javascript,jquery,jquery-chosen,Javascript,Jquery,Jquery Chosen,这里发生了奇怪的情况。我正在使用jquery插件selected.js。我正在使用ajax调用和jquery更新页面上已有的下拉列表。下面是一些示例代码。 这是我的下拉列表,如页面所示 <div id="singleDropDownBlock" style="display: none"> <select id="SingleDropDown" class="chzn-select" data-placeholder="Choose your start Locat
<div id="singleDropDownBlock" style="display: none">
<select id="SingleDropDown" class="chzn-select" data-placeholder="Choose your start Location" onchange="GetFromNodeValue();">
<!--<option>select a strating locnation based on category.</option>-->
</select>
</div>
这是使用jquery将值加载到下拉列表中的代码
function GetResultsFromMultiCategory(data)
{
for (i = 0; i < data.d.categories.length; i++)
{
//console.log(data.d.categories[i].catNode);
if (data.d.categories[i].catNode == "0")
{
$('#SingleDropDown').append("<optgroup " + "label= " + '"' + data.d.categories[i].catName + '"' + ">");
console.log("<optgroup " + "label= " + '"' + data.d.categories[i].catName + '"' + ">");
//onOrOff = false; </optgroup>
}
else
{
$('#SingleDropDown').append("<option " + "value=" + data.d.categories[i].catNode+ ">" + data.d.categories[i].catLoc + "</option>");
console.log("<option " + "value='" + data.d.categories[i].catNode + "'>" + data.d.categories[i].catLoc + "</option>");
if (typeof(data.d.categories[i + 1]) != "undefined")
{
if (data.d.categories[i + 1].catNode == "0")
{
$('#SingleDropDown').append("</optgroup>");
console.log("</optgroup>");
}//end second if
}//end first if
}//end else
}
$('#SingleDropDown').append("</optgroup>");
console.log("</optgroup>");
$("#SingleDropDown").chosen({ placeholder_text_single: "Choose Map" });
$("#SingleDropDown").trigger("chosen:updated");
}
函数GetResultsFromMultiCategory(数据)
{
对于(i=0;i提前感谢您提供的任何帮助。我终于解决了我的问题。我会把答案贴在这里,以便将来有一天能帮助别人 这里的问题是,一次附加一个选择被浏览器关闭。因此,这是最好的方法
function GetResultsFromMultiCategory(data)
{
$("#singleDropDownBlock").show();
$('#SingleDropDown').append("<option></option>");
var myOptions = '';
for (i = 0; i < data.d.categories.length; i++)
{
if (data.d.categories[i].catNode == "0")
{
myOptions += "<optgroup " + "label= " + '"' + data.d.categories[i].catName + '"' + ">";
}
else
{
myOptions += "<option " + "value=" + data.d.categories[i].catNode + ">" + data.d.categories[i].catLoc + "</option>";
if (typeof(data.d.categories[i + 1]) != "undefined")
{
if (data.d.categories[i + 1].catNode == "0")
{
myOptions += "</optgroup>";
}
}
}
}
myOptions += "</optgroup>";
$('#SingleDropDown').append(myOptions);
$("#SingleDropDown").chosen({placeholder_text_single: "Choose Start Location" });
}
函数GetResultsFromMultiCategory(数据)
{
$(“#singleDropDownBlock”).show();
$('#SingleDropDown')。追加(“”);
变量myOptions='';
对于(i=0;i这里的要点是,当使用append而不是追加每一行时,构建字符串,然后将其追加到html元素。有人知道如何使其工作吗?