我在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()
似乎根本不起作用。它不会打印我在输入中键入的任何文本。我应该使用其他方法吗?
答案 0 :(得分:5)
您需要使用.val()
代替; .text()
获取 in 元素中的文本,而.val()
获取文本框的值,该值是输入的属性。 / p>
您也可以在第一行留下周围的括号。请注意,您还应该使用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();
答案 1 :(得分:2)
要获取文本输入的值,您必须使用:
($(this).parent().parent().find('.tags')).val()
答案 2 :(得分:2)
这是因为您应该使用.val()而不是.text()..
.val()用于dom对象具有值的任何内容。
你可以在这里阅读更多关于.val()以及使用它的dom元素:http://api.jquery.com/val/
答案 3 :(得分:1)
.val()
抓住输入值。
答案 4 :(得分:1)
使用
var textboxValue = $(...).val();
代替