這是我的代碼:嘗試一個動態生成的下拉列表前添加元素
<script language="JavaScript" type="text/javascript">
(function($) {
$(document).ready(function(){
var path = "http://shop.vodafone.co.uk",
phoneList = $('#phoneList');
$.getJSON("phones.json", function(data){
var option = $('option').attr('value', data);
var phones = [];
for(var phone in data) {
//phones.push("<option value='"+data[phone].value+"'>"+data[phone].name+"</option>");
phones.push(data[phone]);
}
//console.log(phones);
phones.sort(function(a, b){
var aName = a.name.toLowerCase(),
bName = b.name.toLowerCase();
if(aName < bName) {
return -1;
}
if(aName > bName){
return 1;
};
return 0;
});
var select = $('<option value="Take your pick"></option>').val();
var htmlElements = [];
for(var i = 0; i<phones.length; i++) {
htmlElements.push("<option value='"+phones[i].value+"'>"+phones[i].name+"</option>");
}
//htmlElements.before(select);
$("#phoneList").before(select).html(htmlElements.join('\n'));
//val = $(this).find('option:selected').val(),
});
$('.phoneSelect').bind('change', function(){
var url = $("#phoneList option:selected").val();
window.location = path + url;
});
});
})(jQuery);
</script>
而這裏的HTML:
<div>
<form class="phoneSelect" action="#">
<select style="width: 200px" name="phoneMake" id="phoneList">
<option selected="selected" value="Take your pick">Take your pick</option>
</select>
</form>
</div>
的問題我想補充上述元素 在動態構建的下拉列表之前,請選擇' ',並且所有內容都具有相同的表單元素。 從JSON文件中檢索下拉列表數據。
有人能告訴我我要去哪裏嗎?
如果我明白你試圖在這裏實現什麼,你想建立一個'select'但第一要素應該是'把你的pick'。 –
選擇下拉菜單可行,但我希望第一個元素是不可點擊的顯示文本。下拉菜單中的其他選項可點擊。目前下拉菜單中的第一個選項是應該可點擊的選項之一,但不是。 –