Элементы управления Jquery и ASCX отображаются на странице несколько раз - PullRequest
1 голос
/ 17 сентября 2009

У меня есть элемент управления ascx, который содержит выпадающие списки, которые я хочу сбросить с помощью JavaScript. Поскольку элемент управления ascx отображается на странице aspx несколько раз, я программно добавляю отличительное поле к каждому раскрывающемуся списку, как это в коде позади ascx:

var g = Guid.NewGuid().ToString().Replace("-", "");
DropDownListBool.Attributes.Add("jqID", "ddBool" + g);
DropDownListEqual.Attributes.Add("jqID", "ddEq" + g);

На отображаемой странице, когда я хочу сбросить раскрывающиеся списки для одного из элементов управления, у меня есть гиперссылка, которая вызывает функцию javascript с g в качестве аргумента.

В javascript, используя jquery, я пытаюсь получить оба раскрывающихся списка для одного конкретного элемента управления ascx, например:

function clearControl(g) {
var dds = $("select[jqID = 'dd\\S*" + g + "']");
}

Я тогда делаю:

jQuery.each(dds, function(i, val) { val.select = 0; });

Должно ли это работать? Прямо сейчас это сбрасывает кажущиеся случайными выпадающие списки. Возможно ли ограничение длины атрибута?

1 Ответ

1 голос
/ 17 сентября 2009

Думаю, вам лучше повезет с другим селектором, скажем, " заканчивается селектором атрибута ".

var dds = $("select[jqID$='" + g + "']");

Если вам нужно выбрать на основе начиная с dd и заканчивая значением g, вы можете использовать фильтр и использовать как «заканчивается», так и « начинается с »;

var dds = $("select[jqID^='dd']").filter( "[jqID$='" + g + '']");

Насколько я знаю, вы не можете использовать регулярное выражение при использовании селектора атрибута равно. Я удивлен, что это работает для вас вообще.

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