jQuery Prev () Вопрос - PullRequest
       4

jQuery Prev () Вопрос

2 голосов
/ 16 сентября 2010

Извините, ребята, я должен был выложить скрипт напрямую, без его очистки.Пожалуйста, проверьте обновленный скрипт, теперь он должен все прояснить.Спасибо!

Рассмотрим следующий JavaScript:

    var selected = 0;
    var options = 0;

    $('.newListSelected').each(function() {

        selected = $(this).children('.selectedTxt');
        selected = selected.text();

        /* Everything before this line works completely fine */

        options = $(this).prev();

        options.find('option[value=' +selected+ ']').attr('selected', 'selected');

    }).remove();

И HTML:

<select name="type[]" style="display: none;">
    <optgroup>
        <option value="none">Select</option>
    </optgroup>
    <optgroup label="First Group">
        <option value="1">One</option>
        <option value="2">Two</option>
    </optgroup>
    <optgroup label="Second Group">
        <option value="10">Ten</option>
        <option value="20">Twenty</option>
    </optgroup>
</select>

<div class="newListSelected">
    <div class="selectedTxt">20</div>
    <ul class="newList">
        <!-- Other stuff here -->
    </ul>
</div>

На самом деле я пытаюсь добавить атрибут selected всоответствующая опция option , которая имеет то же значение, что и текст в .selectedTxt.В приведенном выше коде он должен добавить selected="selected" к <option value="20">Twenty</option>.

Однако он не работает должным образом, я также попытался добавить alert(option); ниже prev();, но ничего полезного не получилось.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 16 сентября 2010

Javascript работает отлично, как можно увидеть здесь: http://jsfiddle.net/4HsXp/

Если вам нужно иметь возможность выбрать несколько элементов в элементе select, вам нужно установить multiple и *Атрибут 1006 *, например:

<select multiple="multiple" size="2">
    <option>1</option>
    <option>2</option>
</select>

См .: http://reference.sitepoint.com/html/select


Редактировать:

Присоединение console.log операторов кновый код до сих пор не проблема. Запуск его на jsfiddle дал мне правильный вывод:

jQuery(select)
Original Value: none
New Value: 20
0 голосов
/ 16 сентября 2010

Я не уверен, что вы пытаетесь сделать, но почему вы не можете просто выбрать все элементы option с правильными селекторами? Если вы хотите выбрать только некоторые опции, вам нужно добавить дополнительные атрибуты селектора.

$('select option').each(function() {
    $(this).attr('selected', 'selected');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...