Плагин Jquery.cascade, как сопоставить текст вместо значения? - PullRequest
0 голосов
/ 13 мая 2009

Я использую плагин от здесь . Спасибо за это.

Я использую его для нескольких выпадающих. Дело в том, что я хочу, чтобы он фильтровал список источников по тексту, однако плагин фильтрует только по значению. Поверьте, это установлено в этой строке:

.filter(function() { return opt.match.call(this, opt.getParentValue(parent)); })

  • opt.match.call - вызов метода совпадения при раскрытии
  • это - список для фильтрации
  • opt.getParentValue (parent) - возвращает идентификатор выбранного значения, это я хочу изменить.

Я просто не знаю, как мне изменить сам плагин для предоставления selectedItem или непосредственно текста.

Любая идея приветствуется. Заранее спасибо. Ура, X.

Edit:
Наконец я нашел решение. Мне нужно было изменить jquery.cascade.js следующим образом:

getParentValue: function(parent) { return $(parent+" option:selected"); }

и тогда я смогу добраться до значения текста. :-) Итак, мой критерий соответствия выглядит так:

function matchStates(selectedItem) {<br> return this.When == selectedItem.val() && this.Where == selectedItem.text();<br> };

1 Ответ

1 голос
/ 13 мая 2009

Вы хотите определить функцию самостоятельно и передать ее в настройках при настройке каскада.

    jQuery("#your_child").cascade("#parent_control", {
        getParentValue: function(parent) {
            // write code to return the text of
            // #parent_control instead of the value here
        }
    });
...