Хотите узнать значение по умолчанию для «выбранного» элемента ввода HTML через jQuery и JavaScript? - PullRequest
1 голос
/ 13 сентября 2011

Я использую сторонний плагин jQuery, который получает значения, настройки и предпочтения элемента <select> и заменяет его на собственный виджет.<select> элемент?

Ответы [ 3 ]

5 голосов
/ 13 сентября 2011

<option> элементы имеют свойство, определенное на уровне 1 DOM, называемое defaultSelected. Это свойство будет иметь значение true для любого элемента <option>, который имеет атрибут selected, определенный в HTML при анализе элемента.

Должно быть достаточно просто использовать filter, чтобы получить любые выбранные по умолчанию опции:

var def = $("select > option").filter(function () { 
    return this.defaultSelected; 
});

Рабочая демоверсия: http://jsfiddle.net/AndyE/9G3pR/

1 голос
/ 13 сентября 2011

Используйте

$("select option:selected");

Чтобы получить выбранный элемент (или элемент по умолчанию). Чтобы получить его значение, используйте

$("select option:selected").val();

Или

$("select").val()

Если вы хотите быть короче / быстрее.


Чтобы получить исходное значение выбора, вам нужно сохранить его в данных элемента, используя функцию .data(), как показано в JSFiddle .

Если вы хотите получить значение, просто вызовите .data("originalValue") для элемента select (второй .each() из JSFiddle.

$(document).ready(function() {
    $("select").each(function() {
        $(this).data("originalValue", $(this).val());
    });

    // Log data - will output "1"
    $("select").each(function() {
        console.log($(this).data("originalValue"));
    });
});

Вам нужно выполнить первый вызов .each() в приведенном выше коде, когда ваша страница загружается, чтобы сохранить исходное значение поля выбора. Обратите внимание, что originalValue может быть любым идентификатором, который вам нравится.

0 голосов
/ 13 сентября 2011
$('select option:selected').val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...