首页 > 解决方案 > 如何使用 jQuery 选择 HTML 属性?

问题描述

我向文本框添加了一个自定义属性:

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

如果可能,我想从AJAX成功函数内部访问该值。

另请注意,我遗漏了与我的问题无关的任何属性和参数。

我在AJAXjQuerychange()函数内部使用,所以当用户更新文本框中的值时,它会更新数据库而不发回,我已经有这么多工作了。

一旦我进入我的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);
  });
});

但到目前为止它不起作用,我已经尝试DidItWork用几种不同的方式为我的变量输入我的 jQuery 选择,但不是SomeValue像我希望的那样显示,我的警报显示[object Object][undefined]. 我在最后尝试了带和不带 a .val(),但这会使警报显示文本框中的值,而不是MyCustomAttribute.

无论如何,我不确定我弄错了语法的哪一部分,有人可以帮忙吗?

标签: javascriptjqueryhtmlasp.netajax

解决方案


根据此链接,您可以在 jQuery 中使用 attr() 来操作 HTML 属性。

您应该为文本框分配一个 id 并使用 jQuery 获取该元素并使用 attr() 修改其属性。

示例代码行是:

$('#textBox').attr('MyCustomAttribute', 'SomeNewValue');

推荐阅读