【问题标题】:jquery .text() method not getting any text from input type text html elementjquery .text() 方法没有从输入类型文本 html 元素中获取任何文本
【发布时间】:2012-01-28 00:17:49
【问题描述】:

我在 DOM 中找到我的元素,如下所示:

tag_text_box = ($(this).parent().parent().find('.tags'))

我打印出来检查它是否正确,确实如此。 这里:

[
<input type=​"text" class=​"tags ui-autocomplete-input" style=​"width:​ 250px;​ height:​ 24px;​ background-color:​ red;​ " name=​"display_name" autocomplete=​"off" role=​"textbox" aria-autocomplete=​"list" aria-haspopup=​"true">​
]

但是tag_text_box.text() 似乎根本不起作用。它不会打印我在输入中输入的任何文本。我应该使用其他方法吗?

【问题讨论】:

    标签: jquery jquery-ui


    【解决方案1】:

    您需要改用.val().text() 从元素 inside 获取文本,而 .val() 获取文本框的值,这是输入的 属性

    您也可以在第一行中省略周围的括号。请注意,您还应该使用var;目前,您在全局命名空间中声明 tag_text_box。它应该是这样的:

    var tag_text_box = $(this).parent().parent().find('.tags');
    
    var box_text = tag_text_box.val();
    

    为了更简洁,您可以简单地将输入的值直接分配给一个变量:

    var tags = $(this).parent().parent().find('.tags').val();
    

    【讨论】:

      【解决方案2】:

      要获得您必须使用的文本输入的值:

      ($(this).parent().parent().find('.tags')).val()

      【讨论】:

        【解决方案3】:

        这是因为你应该使用 .val() 而不是 .text()..

        .val() 用于 dom 对象有值的任何地方。

        您可以在此处阅读有关 .val() 以及在哪些 dom 元素上使用它的更多信息:http://api.jquery.com/val/

        【讨论】:

          【解决方案4】:

          .val() 获取输入值。

          http://api.jquery.com/val/

          【讨论】:

            【解决方案5】:

            使用

            var textboxValue = $(...).val();
            

            改为

            【讨论】:

              猜你喜欢
              • 2019-02-13
              • 2016-10-26
              • 2012-07-06
              • 2021-12-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多