Я сейчас создаю плагин jQuery, который превращает <select>
в довольно выпадающее меню, но у меня возникла небольшая проблема, хотя, я могу получить параметры выбора на странице, выполнив это
var self = $(this);
name = self.attr('name');
select_options = $(this).children();
// an array so that we can related options together
sorted_options = [];
//loop through the options sorting them into the array as we go.
for(i=0;select_options.length>i;i++) {
sorted_options.push({
'value': select_options.eq(i).val(),
'name': select_options.eq(i).text()
});
}
Итак, я получаю параметры и затем сортирую их в массив, когда я помещаю этот массив в консоль, я получаю следующее:
[Object { value="0", name="I'm looking for..."}, Object { value="1", name="actors"}, Object { value="2", name="presenters"}, Object { value="3", name="voice overs"}]
[Object { value="0", name="Skill"}, Object { value="1", name="actors"}, Object { value="2", name="presenters"}, Object { value="3", name="voice overs"}, Object { value="4", name="dancers"}, Object { value="5", name="accents"}, Object { value="6", name="film"}, Object { value="7", name="tv"}]
[Object { value="0", name="Gender"}, Object { value="1", name="male"}, Object { value="2", name="female"}]
Мой первый вопрос: как я могу удалить из массива все, что имеет значение 0, так как мой плагин заменяет первую запись из выпадающего списка, если пользователи тоже сообщают об этом, прежде чем я внес некоторые изменения в то, как я получил параметры, Я использовал следующее,
options.splice(0, 1);
Но параметров больше не существует, поэтому я не могу просто удалить первую запись каждого массива, во-вторых, мне нужно добавить значения и имена в мои новые выпадающие списки, однако у меня возникают проблемы с этим,
Я использую этот код для добавления значений в данный момент,
for(i=0;sorted_options.length>i;i++) {
$('.dropdown dd ul').append('<li <a href="#"><span class="option">'+ sorted_options[i]['value'] + '</span><span class="value">' + sorted_options[i]['name'] + '</span></a></li>');
}
однако это добавляет все 3 объекта, которые я вижу в консоли, к первому раскрывающемуся списку, 2 объекта, которые я вижу в консоли, ко второму объекту и 1 объект к окончательному раскрывающемуся списку.
Мне нужно добавить первый объект в первый раскрывающийся список, второй - во второй, третий - в третий и т. Д.