Получение значения определенного атрибута через JavaScript для атрибута onChange - PullRequest
0 голосов
/ 25 октября 2011

Доброе утро / день,

Не столько проблема, сколько вопрос. Если у меня есть следующий код для захвата выбора пользователей в раскрывающемся списке (см. Рисунок 1), как мне также добавить возможность также захватывать значение определенного атрибута? (см. рисунок 2)

Рисунок 1:

<select onChange="productString(this.value)">
    <option selected>Please Choose an Option</option>
    <option value="Foo"></option>
</select>

Рисунок 2:

<select onChange="productString(this)">
    <option selected>Please Choose an Option</option>
    <option value="Foo" id="Bar"></option>
</select>

Если кто-то будет так добр, покажите мне, где я ошибаюсь на рисунке 2, это было бы очень признательно.

Заранее спасибо,

Dan.

EDIT :::::

Будет ли следующая работа по сбору информации?

function productString(element) {
    var id = element.value;
    var name = element.id;
    var box = element.class;
}

1 Ответ

1 голос
/ 25 октября 2011

Просто передайте хотя бы this:

<select onChange="productString(this)">

и тогда вы можете получить все, что захотите:

function productString(element) {
  var value = element.value, id = element.id;
  // ...
}

Вот пример jsfiddle .

изменить & mdash; ой, извините - элемент, который передается через в IE везде (ну и дела, я должен быть слепым), элемент "select", а не "option". Таким образом:

function productString(element) {
    if (element.tagName.toLowerCase() === 'select')
        element = element.options[element.selectedIndex];

    var id = element.id;
    var value = element.value;
    // ...
}

Обновлен jsfiddle .

...