Как установить выбранный тег выбора, а не тег выбора

Типовая версия ответа @justin, совместимая с ES6, с использованием символов для предотвращения любого столкновения ключей и добавления в глобальный Object.id для удобства. Просто скопируйте вставить код ниже или поместите его в файл ObjecId.ts, который вы импортируете.

(enableObjectID)();

const uniqueId: symbol = Symbol('The unique id of an object');
function enableObjectID(): void {
    if (typeof Object['id'] !== 'undefined') {
        return;
    }

    let id: number = 0;

    Object['id'] = (object: any) => {
        const hasUniqueId: boolean = !!object[uniqueId];
        if (!hasUniqueId) {
            object[uniqueId] = ++id;
        }

        return object[uniqueId];
    };
}

Использование в вашем ts-коде:

(<any>Object).id(yourObject);
-1
задан Junie 18 January 2019 в 13:19
поделиться

2 ответа

Ответ: Нет.

Хотя вы могли бы написать некоторый javascript, который бы устанавливал атрибут selected для option на основе параметра в теге select, но вы затем изменили бы DOM, что приведет к вашему примеру # 1. [ 116]

Так что нет, в HTML5 нет способа получить DOM, как вы просили.

0
ответ дан Taysumi 18 January 2019 в 13:19
поделиться

Это не свойство по умолчанию тега select.
Чтобы понять это, вы должны сделать свою собственную функцию в javascript.
Вы также должны включить Jquery для этого.
Это абсолютно недостижимо в JavaScript. Вы можете добавить data атрибутов к элементам.

<select id="cars" data-selected="audi">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="vw">VW</option>
  <option value="audi">Audi</option>
</select>

В javascript вы можете прочитать значение и установить его для опции.

var selected = $("#cars").attr("data-id");
$('#cars option[value="'+ selected +'"]').prop('selected', true);

Но в любом случае, зачем тебе это?
<select selected="audi"> никогда бы не сработало ...

0
ответ дан Jbadminton 18 January 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: