簡體   English   中英

<option>不附加<select>在jquery

[英]<option> not append in <select> in jquery

我試圖通過解析來自XMl的數據,使用javascript在<select>附加<option> 從xml正確解析的數據,但它沒有附加在<select>

另外,我想將選項顯示為(圖像+文本)格式。 這個怎么做....

我的HTML代碼:

<form style="margin:20px 0">
    <p>
        <select id='mySelect' multiple="multiple" style="width:370px">
        </select>
    </p>

</form>

Javascript代碼:

$(document).ready(function(){

    $.ajax({
        type: "GET",
        url: "newpersonal1.xml",
        dataType: "xml",
        success: function(xml) {
            var select = $('#mySelect');
            $(xml).find('value').each(function(){
                 var title = $(this).find('name').text();
                 alert(title);
                 select.append("<option value='"+title+"'>"+title+"</option>");         
            });                 
        }
    });
});

如何解決此問題並在select <option>添加圖像。

以下代碼對我有用。

$(function(){
   $.ajax({
    type: "GET",
    url: "newpersonal1.xml",
    dataType: "xml",
    success: function(xml) {
        var select = $('#mySelect');
        var options = '';
        $(xml).find('value').each(function(){
             var title = $(this).find('name').text();
             options += "<option value='" + title + "'>" + title + "</option>";                         
        });             
        select.html(options);
        $("#mySelect").multiselect().multiselectfilter();
    }
  });   
});

我注意到當從本地文件夾運行html時,xml文件不會加載到chrome中。 但它確實可以在服務器上運行。

如果有幫助,請標記為答案 干杯

當你以自己的方式處理“過濾和多選插件”時,你必須采取額外的步驟。

它模仿選擇對象,隱藏原始對象並創建按鈕和跨度元素集。 它僅在初始化時使用原始的。

因此,只要使用其他選項更新原始選擇標記,就必須調用函數refresh()。

http://www.erichynds.com/examples/jquery-ui-multiselect-widget/demos/#refresh

您的title字符串可能格式錯誤,需要轉義。

除非您完全確定值不能包含任何特殊字符,否則連接字符串不是創建元素的好方法。 因此,更好的方法是:

$('<option>', { val: title, text: title }).appendTo(select);

我注意到,如果所需的值與選項中包含的文本相同,則實際上不必在<option>標記中指定值。

試試這可能對你有幫助,

   var selectList = "", title = ""; 
   $(xml).find('value').each(function(){ 
    title = $(this).find('name').text(); 
    selectList += "<option value='" + title + "'>" + title + "</option>";
   });
   $('#mySelect').html(selectList);  

這段代碼是在我的情況下工作,不知道為你....

嘗試

$( select ).append("<option value='"+title+"'>"+title+"</option>");

正如你所看到的,我正在用$(和)圍繞“選擇”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM