Как я могу невидимые группы управления через jQuery?
В моем проекте Sharepoint / веб-части / веб-странице я динамически создаю элементы / элементы управления страницы с помощью C # в файле * .ascx.cs.
В файле * .ascx я использую jQuery для реагирования на события, происходящие на странице (выборки, изменения состояний флажков и т. Д.).
У меня есть необходимость условно невидимых групп элементов управления / элементов на странице. В частности, если пользователь установит определенный флажок, я могу «удалить» целые полосы страницы, которые в этом сценарии не применяются к ней.
Как я могу это сделать? У меня есть эта отправная точка:
/* If the select "Yes" (they are seeking payment for themselves, as opposed to someone else), omit (invisibilize) sections 2 and 3 on the form */
$(document).on("change", '[id$=ckbxPaymentForSelf]', function () {
var ckd = this.checked;
if (ckd) {
// what now?
}
});
Я мог бы сделать это, выпрямляя волосы (это было бы очень болезненно для меня, потому что у меня почти столько же волос, сколько у Авессалома), и установить каждый отдельный элемент следующим образом:
if (ckd) {
var $this = $('[id$=txtbxthis]');
var $that = $('[id$=txtbxthat]');
var $theother = $('[id$=txtbxtheother]');
. . . // store a reference to all the other to-be-affected elements in vars
$this.visible = false; // <= this is pseudoscript; I don't know what the jQuery to invisiblize an element is
$that.visible = false; // " "
$theother.visible = false; // " "
. . . // invisiblize all the other to-be-affected elements
}
Конечно, есть более элегантный / лучший способ!
Это вопрос присвоения всем условно невидимым элементам определенного класса, а затем невидимости каждого элемента, которому назначен этот класс, или что?
Кроме того, я хочу, чтобы область, ранее использовавшаяся этой теперь невидимой полосой, «уходила» или «сворачивалась», а не сидела там с пустым взглядом, зияющей пропастью или пустынным пространством, похожим на пустыню Гоби.