Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
Javascript 选择的jquery插件未使用<;更新;optgroup>;_Javascript_Jquery_Jquery Chosen - Fatal编程技术网

Javascript 选择的jquery插件未使用<;更新;optgroup>;

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

这里发生了奇怪的情况。我正在使用jquery插件selected.js。我正在使用ajax调用和jquery更新页面上已有的下拉列表。下面是一些示例代码。 这是我的下拉列表,如页面所示

<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元素。

有人知道如何使其工作吗?