У меня есть динамическая таблица html, сгенерированная с помощью javascript. таблица содержит различные элементы управления, такие как текстовое поле, раскрывающийся список, в котором есть пользовательские атрибуты. Как я могу прокрутить все элементы управления, присутствующие внутри этой таблицы, и найти элемент управления, чей собственный атрибут соответствует некоторому значению?Найти управление в javascript или JQuery
ответ
Это даст вам все элементы формы внутри вашего стола (:input
selector):
var $formElements = $('#tableid').find(':input');
Вы можете фильтровать с attribute selector:
//will select every form element having a data-custom attribute set to 5
var $formElements = $('#tableid').find(':input[data-custom="5"]');
Пожалуйста, смотрите jsFiddle Demo. Для моих примеров я использовал HTML5 data- attributes, но код будет работать с любым атрибутом, который вам нужен.
ИЛИ вы можете использовать filter()
method написать функцию, которая фильтрует ваши элементы:
var $formElements = $('#tableid').find(':input').filter(function() {
return $(this).attr('data-custom') == '5';
});
«чей пользовательский атрибут соответствует» Я думаю, что ваш селектор не находит пользовательских атрибутов – Tx3
$ formElements .each (function() { // Как я могу получить элемент управления, чье пользовательское значение атрибута «x»? }); – sharmila
@sharmila См. Мой обновленный ответ. Я на первый взгляд неправильно понял ваш вопрос. Селектор атрибутов - ваш лучший выбор здесь. Я скоро добавлю демо. – kapa
Вы можете использовать Attribute Contains Selector.
Проверьте пример это, вероятно, очень близко к тому, что вам нужно, которая является нахождение input
& select
элементов с определенным атрибутом значения
Дайте им класс .control
и:
$('.control[attribute=value]')
Проверить Selectors API для получения дополнительной информации селектора атрибутов.
Демо: http://jsfiddle.net/DSqZr/1/
function getControl(_value){
$("#panel :input").each(function(){
if($(this).attr("custom") == _value){
return $(this);
}
})
}
var selectedCrl = getControl(1);
Я хочу вернуть конкретный элемент управления (вместо предупреждения), чье пользовательское значение атрибута равно 1. Как я могу это сделать? – sharmila
@sharmila обновленный код – mgraph
Спасибо. Как я могу получить элементы управления, которые являются выпадающим списком? если это раскрывающийся список, тогда мне нужно изменить selecteditem.Any идеи? – sharmila
Было бы легче увидеть разметку, или, по крайней мере, часть его ... –