Найти контроль в JavaScript или JQuery - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть динамическая HTML-таблица, созданная с использованием JavaScript.таблица содержит различные элементы управления, такие как текстовое поле, раскрывающийся список с пользовательскими атрибутами. Как я могу просмотреть все элементы управления внутри этой таблицы и найти элемент управления, чей пользовательский атрибут соответствует какому-либо значению?

Ответы [ 4 ]

2 голосов
/ 24 февраля 2012

Это даст вам все элементы формы внутри вашей таблицы (:input селектор ):

var $formElements = $('#tableid').find(':input');

Вы можете фильтровать с помощью селектора атрибута :

//will select every form element having a data-custom attribute set to 5
var $formElements = $('#tableid').find(':input[data-custom="5"]');

Пожалуйста, ознакомьтесь с jsFiddle Demo .В своих примерах я использовал атрибуты данных HTML5 , но код будет работать с любым необходимым атрибутом.

ИЛИ вы можете использовать метод filter() для записифункция, которая фильтрует ваши элементы:

var $formElements = $('#tableid').find(':input').filter(function () {
    return $(this).attr('data-custom') == '5';
});

jsFiddle Демо с фильтром ()

1 голос
/ 24 февраля 2012

Демо: http://jsfiddle.net/DSqZr/1/

function getControl(_value){
    $("#panel :input").each(function(){
        if($(this).attr("custom") == _value){
           return  $(this);
        }
    })​
}

var selectedCrl = getControl(1);
0 голосов
/ 24 февраля 2012

Дайте им класс .control и:

$('.control[attribute=value]')

Проверьте API селекторов , чтобы узнать больше о селекторах атрибутов.

0 голосов
/ 24 февраля 2012

Вы можете использовать Атрибут Содержит селектор .

Посмотрите пример, который, вероятно, очень близок к тому, что вам нужно, - это поиск input & select элементов с определенными значениями атрибутов

...