2013-09-20 4 views
1
var options = $('#mobility-table').find('select.MobilityCountry[data="'+selectionId+'"]').data('options').filter('[data="' + id + '"]'); 

    options.sort(function(a,b) { 
     if (a.innerHTML > b.innerHTML) return 1; 
     else if (a.innerHTML < b.innerHTML) return -1; 
     else return 0; 

Приведенный выше код предоставит мне список городов при выборе страны. Я хотел бы добавить значение по умолчанию «Все» на первом месте в переменной «options». Может ли кто-нибудь предложить мне, как добавить это. Любая помощь очень ценится. Спасибо.Как добавить значение к переменной JavaScript?

Ех: варианты должны иметь «Все, Лондон, Шотландия, Стэнмор, Уотфорд».

+0

Как вы писали в названии, это javascript, ** не java **. – BackSlash

+0

Как вы добавляете эти параметры в раскрывающийся список или что вы делаете с этими параметрами? –

ответ

1

Вы можете использовать unshift() добавить элемент в начало отсортированного массива:

Если вы просто пытаетесь добавить текст к первому элементу, это было бы так:

options.sort(function(a,b) { 
     if (a.innerHTML > b.innerHTML) return 1; 
     else if (a.innerHTML < b.innerHTML) return -1; 
     else return 0; 
} 
options.unshift("All"); 

Если вы хотите добавить параметр элемент массива, это было бы так:

var item = document.createElement("option"); 
item.value = "all"; 
item.innerHTML = "All"; 
options.unshift(item); 

это мне не ясно, идет ли вы пытаетесь изменить HTML. Если да, то, пожалуйста, покажите, как выглядит ваш HTML, чтобы мы могли сообщить, как добавить этот элемент в DOM. Мне непонятно, какой элемент HTML является элементом выбора.

В JQuery, вы можете добавить опцию, чтобы быть первым пунктом в раскрывающемся меню, как этот

// you have to fill in the appropriate selector for your select object 
$("#selector for select object").prepend("<option value='all'>All</option>"); 
+0

[Пробовал это, но его не работало. Любые другие варианты?] – Duriseti

+0

@Duriseti - вам нужно будет показать, какой у вас есть HTML и какой код вы пробовали. Кроме того, я исправил опечатку в своем коде. – jfriend00

0

unshift() новый <option>:

var option = document.createElement("option"); 
option.value = "all"; 
option.appendChild(document.createTextNode("All")); 
options.unshift(option); 

JQuery:

options.unshift($("<option>", {text: "All", value: "all"}).get(0)); 
+0

Спасибо, что было действительно полезно. оно работает. – Duriseti

+0

@Duriseti: Рад это слышать! (Вы знаете, как принять ответ, между прочим?) – Ryan

Смежные вопросы