Связывание кнопки с jQuery через сервис

0

У меня есть небольшая проблема, которую нужно очень легко преодолеть. По какой-то причине я не могу это понять. Поэтому проблема заключается в том, что я не могу получить ссылку на какой-либо jquery. Моя настройка следующая (с указанием соответствующего кода):

Default.aspx

JQuery:

function getContent() {
    var data = {
        numberID: 1
    };

    $.jsonAspNet("ContentService.asmx", "GetContent", data,

    function (result) {
        $('#content').html(result);
    });
}

jQuery(document).ready(function () {
    getContent();
});

HTML:

<div id="content"></div>

ContentService.vb

<WebMethod()> _
Public Function GetContent(number As Integer) As String
        Dim sb = New StringBuilder

        sb.AppendLine("<table>")
        sb.AppendLine("<tr>")
        sb.AppendLine("<td class='ui-widget-header ui-corner-all'>Number</td>")
        sb.AppendLine("</tr>")
        sb.AppendLine("<tr>")
        sb.AppendLine("<td>" & number & "</td>")
        sb.AppendLine("<td><a href='#' id='test' class='fg-button ui-state-default ui-corner-all'><img src='" & Context.Request.ApplicationPath & "/images/spacer.gif' class='ui-icon ui-icon-pencil' /></a></td>")
        sb.AppendLine("</tr>")        
        sb.AppendLine("</table>")

        Return sb.ToString
    End Function

Так что основы того, что у меня есть, все работает, но я не уверен, как получить кнопку (id='test'), чтобы связать ее с каким-то jQuery. Я хочу, чтобы это было нажато и появилось всплывающее окно.

Я попытался поместить jQuery в default.aspx но это не работает, если кнопка не помещается в HTML на этой странице.

$('#test').unbind('click').click(function () {
    alert('Working');
});

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

  • 0
    То есть вы просто хотите получить уведомление, когда нажимаете на ссылку с тестом ID?
  • 0
    @NickN. В общем, хорошо, я буду делать другие вещи, но я просто не могу заставить его связать. Предупреждения только там, чтобы показать, что это работает.
Показать ещё 3 комментария

4 ответа

0
Лучший ответ

решаемая

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

$('#test').unbind('click').click(test);

Это необходимо для входа в функцию с помощью json:

function getContent() {
    var data = {
        numberID: 1
    };

    $.jsonAspNet("ContentService.asmx", "GetContent", data,

    function (result) {
        $('#content').html(result);
        $('#test').unbind('click').click(test);
    });
}

Спасибо всем, кто пытался мне помочь.

1

Когда вы загружаете контент через ajax, вы должны привязываться к $('#content'). Как это:

$(function () {
    $('#content').on('click', '#test', function () {
        e.preventDefault(); // if a default action is not needed needed
        alert('Working');
    });
});
1

Проблема, которую вы пытаетесь связать с элементом, который еще не существует?

вы вызываете $('#test').unbind('click').click(function() { alert('Working'); }); ПЕРЕД доставкой?

$('#test').on('click', function () {
      alert('Working');
});

Это свяжет событие с элементом '#test', как только он будет вставлен в DOM.

  • 0
    Привет, спасибо за ответ, я уверен, что это должно сработать, но опять же это не доходит до jQuery.
  • 0
    Можете ли вы создать jsFiddle, на который я могу взглянуть?
0

Я предполагаю, что это не предотвращает поведение по умолчанию тега A href. Теперь он, вероятно, будет ссылаться на "#", а не на запуск события onclick.

$('#test').on('click', function (e) {
    alert('Working');
    e.preventDefault();
});

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

  • 0
    Эй, спасибо за ответ, я уверен, что это должно сработать, но опять же, оно не доходит до jQuery. Если я смотрю на источник в браузере, он показывает правильный код. Как я уже сказал, если код находится на той же странице, он будет работать, но не тогда, когда он поступает из content.vb .
  • 0
    Вы случайно не используете что-то вроде панели обновления?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню