jquery - instantcms дополнения




JQuery Выберите поля ввода, кроме скрытых (5)

У меня есть строка в таблице, которая содержит флажок и некоторые другие поля формы (текстовые поля, скрытые поля, списки выбора). Когда флажок установлен, я хочу отключить все поля формы в этой строке, кроме скрытых полей. У меня это работает по большей части, но я не могу игнорировать скрытые поля.

Каков наилучший способ выбрать все поля формы в строке таблицы, но игнорировать скрытые поля в выборе?


.........

$('tr input').attr('disabled', true)
$('tr input[type="hidden"]').removeAttr('disabled')

Во-первых, вам нужно пометить свой флажок «селектор» (например, с помощью селектора атрибутов класса), чтобы было ясно, что он используется для проверки вместо обычного элемента формы. Затем вы используете это:

$('table :checkbox.selector').click(function(ev) {
    $(ev.currentTarget)
            .parents('td').siblings('td')
            .find(':input:not([type=hidden])')
            .attr('disabled', ev.currentTarget.checked);
});

Это решение работает для всех входов (например, списки выбора, текстовые поля), и оно не отключает флажок селектора.

Я предполагаю, что вы используете последний jQuery.


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

$ ( "Вход: видимый")


Я нашел простой способ сделать это в jquery.

$("tr input").not("input[type='hidden']")

В нижеприведенном фрагменте кода есть div с идентификатором tabsDiv который содержит несколько элементов html, и этот код получает все входные элементы внутри этого div, кроме тех, которые имеют тип hidden .

$("#tabsDiv").find("input").not("input[type='hidden']")

$(":input:not([type=hidden])")

": input" - псевдо-селектор jQuery ... "Выбирает все элементы ввода, textarea, select и button". http://api.jquery.com/input-selector/





jquery