我已經在這個格式來產生一個數組的HTML標籤的數組稱爲statecontent
:排序與
["<option value="Texas" data-code="TX">Texas - TX</option>",
"<option value="Washington" data-code="WA">Washington - WA</option>",
"<option value="Maryland" data-code="MD">Maryland - MD</option>""]
我使用這個數組來填充一個下拉框
var statecombo = $('#stateCombobox');
statecombo.append(statecontent.join(''))
但是,沒有我正在使用的正常排序方法正在工作。
通常我會做:
var target = '#stateCombobox'
sortdropdown(target)
function sortdropdown(target) {
$(target).html($(target + " option").sort(function (a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;
}));
}
這不工作,雖然,任何想法,我可以怎麼用這種格式的排序?
試過this和this沒有成功我猜是因爲它們在html標記中?
不知道如何分揀之前將附加工作,因爲我產生什麼樣子:
for (var j = 0; j < obj[k].countries[i].states.length; j++) {
var item = '<option value="' + obj[k].countries[i].states[j].state + '" data-code="' + Scode + '">' + obj[k].countries[i].states[j].state;
item = item + '</option>';
statecontent.push(item);
};
你能生成HTML的磁盤陣列之前,你不排序? –
'sort'是Array的一種方法,而不是jQuery集合 – hindmost
這是按預期排序看到這個http://jsfiddle.net/9aXYc/42/ –