JQuery выводит динамический элемент управления в div - PullRequest
1 голос
/ 25 июня 2009

Как мне обработать щелчок флажка, чтобы динамически показывать другой элемент управления, предпочтительно пользовательский контроль (ASP.NET).

Ответы [ 5 ]

0 голосов
/ 13 марта 2010

Я неравнодушен к использованию плагина jquery taconite . Это позволяет вам возвращать несколько элементов управления из одного вызова AJAX. Для простого сценария управления отображением / скрытием достаточно хорошо отобразить скрытый элемент управления на странице. Если ваш контроль велик или изменяется из-за действий пользователя, тогда вам лучше всего рендерить управление на сервере и использовать js для обновления DOM. Если вы используете jquery для обновлений DOM и хотите найти контроль по id, используйте:

$("[id$=controlId]")

Это позволит найти ваш элемент управления даже с префиксами asp.net к идентификатору. Я работаю над простой c # оболочкой для плагина taconite, которая должна позволить вам легче использовать плагин (скоро появится образец сайта).

0 голосов
/ 25 июня 2009

Если вы по умолчанию скрываете элемент управления с помощью CSS, вы можете сократить код TStamper до чего-то вроде:

$(function() {
    $('#checkbox').click(function() {
        $('#control').toggle();
    });
});

<mycontrol:UC id="control" runat="server" />
0 голосов
/ 25 июня 2009

Вы ищете что-то вроде этого:

$(function(){
    $('#Control').hide(); //initially hide the control
    $('#checkbox').click(function(){  // bind the checkbox click event
        if ($('#checkbox').attr('checked')) {
            $('#Control').show(); 
        }
    });
});


<mycontrol:UC id="Control" runat="server" />
0 голосов
/ 25 июня 2009

Если вы хотите создать новый объект, вы можете сделать это:

var checkbox = $("<input type='checkbox' ... />");
$('div#someID').append(checkbox);

Хотя, похоже, вы хотите получить данные для добавления из вызова AJAX. Я не могу точно сказать из вопроса.

0 голосов
/ 25 июня 2009

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

Вставьте пользовательский элемент управления на своей собственной пустой странице.

Когда флажок установлен, попросите JQuery получить HTML-содержимое страницы, на которой находится пользовательский элемент управления, и вставить его в div.

Это приведет к не очень аккуратному html на вызывающей странице.

А это asp: CheckBox или ввод html?

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