Получить индекс строки, раскрывающийся список --JS - PullRequest
0 голосов
/ 27 апреля 2018

У меня динамически создано несколько строк, состоящих из выпадающих меню.

Я пытаюсь получить rowIndex выбранного раскрывающегося списка. Например, в скрипке: https://jsfiddle.net/gfhwd0fc/ Я ищу индекс выбранной строки. как и в вышеприведенном примере есть 3 строки, и этот вариант, который я выбираю из раскрывающегося списка, ищет строку, в которой находится раскрывающийся список.

Я ищу индекс строки, а не индекс OPTION, выбранный из раскрывающегося списка.

мой код в EXTJS;

 {
                    columnWidth: .5,
                    height : 30,
                    help: 'operator',
                    xtype : 'combo',
                    name: 'operator',
                    width: 150,
                    ref: "../operator",
                    emptyText: $L("Select Operator..."),

                    store: new Ext.data.ArrayStore({
                         fields: ['key', 'title'],
                         data: values
                     }),
                     listeners: {

                         'select': function(rec) {
                             //do some stuff here to get the index

                         },
                         scope: this
                     },
                    editable: false

                },

1 Ответ

0 голосов
/ 27 апреля 2018

Использовать выбранное свойство для дочерних элементов (опций) выбранных элементов. Примерно так:

https://jsfiddle.net/ibowankenobi/gfhwd0fc/2/

var result = document.getElementById("result");
function handler(e){
    var children = Array.prototype.slice.call(this.children);
    e.currentTarget.__row = result.textContent = children.indexOf(
    children.filter(function(d,i){return d.selected})[0]
  ); 
}
Array.prototype.slice.call(document.querySelectorAll("select")).forEach(function(d,i){
    d.addEventListener("change",handler,false);
});

у вас будет свойство строки .__ в тегах выбора при изменении.

PS:

Очевидно, есть также selectedIndex на родительском элементе select, который не приходил мне в голову. В любом случае я оставлю это грубое решение в качестве пользовательской реализации dom xD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...