Как выбрать атрибут HTML с помощью jQuery? - PullRequest
0 голосов
/ 16 ноября 2018

Я добавил пользовательский атрибут в текстовое поле:

<asp.TextBox MyCustomAttribute="SomeValue"><asp.TextBox>

И я хотел бы получить доступ к этому значению из AJAX функции успеха, если это возможно.

Также обратите внимание, чтоЯ исключил любые атрибуты и параметры, которые не относятся к моему вопросу.

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

Как только я попал в контекст моей функции change(), я устанавливаю значение MyCustomAttribute для переменной, чтобы я мог (теоретически)получить доступ к ней из функции успеха AJAX:

.change(function () {
  var MyCustomAttribute = $(this).attr("MyCustomAttribute");
  $.ajax({
    success: function (response) {
      if (response.d == "SUCCESS") {
        // here I just want to see if I can access the value
        // of MyCustomAttribute so I'm trying to set it to a
        // variable and do an alert()
        var DidItWork = $("input[MyCustomAttribute='" + MyCustomAttribute + "']");
        alert(DidItWork);
  });
});

Но пока она не работает, я пытался набрать мой jQuery select для моей переменной DidItWork несколькими различными способами, но вместо отображенияSomeValue Как я и надеялся, мое предупреждение отображает [object Object] или [undefined].Я пробовал с и без .val() в конце, но это заставляет предупреждение отображать значение, которое находится в текстовом поле, а не значение MyCustomAttribute.

В любом случае, я не уверен, какая частьсинтаксис я ошибаюсь, кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Попробуйте найти asp.TextBox по классам, например так:

<asp.TextBox class="tb" MyCustomAttribute="SomeValue"><asp.TextBox>


.change(function () {
  $.ajax({
    success: function (response) {
      if (response.d == "SUCCESS") {
        var DidItWork = $(".tb").attr("MyCustomAttribute");
        alert(DidItWork);
  });
});
0 голосов
/ 16 ноября 2018

Согласно этой ссылке , вы можете использовать attr () внутри jQuery для манипулирования атрибутами HTML.

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

Пример строки кода:

$('#textBox').attr('MyCustomAttribute', 'SomeNewValue');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...