Как изменить значение параметра с помощью Jquery? - PullRequest
4 голосов
/ 17 июля 2010

Я ищу способ изменить значение параметра из тега выбора, когда пользователи нажимают на ссылку.

Например, у меня есть вариант выбора html:

<select> <option value="0">Please Select</option> 
<option value="1">red</option> 
<option value="2">white</option> 
</select>

ИУ меня 2 ссылки <a href="#" title="red" class="preview_link">red</a> <a href="#" title="white">white</a> Когда пользователь нажимает красный, опция переключается на красный, а белый - на белый.Я использую следующий код, но он не работает.

 jQuery("a.preview_link").click(function() {
    var title = jQuery(this).attr("title");
        jQuery(this).parent('p').children("select :selected").text(title);
 });

Есть предложения?

Ответы [ 3 ]

6 голосов
/ 17 июля 2010

Ваш способ установит текст опции в атрибут заголовка. Попробуйте:

 jQuery("a.preview_link").click(function() {
    var title = jQuery(this).attr("title");
    jQuery(this).parent('p').find("select option").filter(function() {
        return $(this).text() == title;
    }).attr('selected', 'selected');
 });

См. filter.

0 голосов
/ 17 июля 2010

Это?

$("select #some-option").attr("selected", "selected");

Или это?

$("select").val(index);
0 голосов
/ 17 июля 2010

Хм, вы ошибаетесь: вместо изменения текста выбранной опции вам нужно перебрать элементы <option/> и выбрать соответствующий, что-то вроде этого:

$("select option").each(function() { 
    if($(this).text() == "red")) {
        this.selected = true; 
    }
});

Редактировать: в jQuery может быть функция select(). Если это так, используйте это свойство DOM.

...