[英]<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.