jquery如何从搜索框中获取字符串

jquery如何从搜索框中获取字符串,jquery,search-box,Jquery,Search Box,我正在研究jquery搜索框 我在从html获取字符串变量时遇到了麻烦 在我的html文件中 我有 <header> <div id="searchBox"> <form name="searchForm"> <div> <i class="icon-search icon-large icon-height"></i> <input name="searchfi

我正在研究jquery搜索框

我在从html获取字符串变量时遇到了麻烦

在我的html文件中

我有

<header>
  <div id="searchBox">
    <form name="searchForm">
      <div>
        <i class="icon-search icon-large icon-height"></i>
        <input name="searchfield" type="search" size="20" maxlength="30">
      </div>
    </form>
  </div>
</header>
当我点击搜索一些字符串时

它显示该对象而不是一些字符串

我不确定如何将对象转换为字符串


有人知道如何转换吗?

这行代码没有任何意义:

var searchstring  = $(this).text('#searchfield');// $('#searchfield');
它确实应该是:

var searchstring = $('#searchfield');
然后您将能够执行以下操作:

searchstring.focus();
并使用
.val()
检索文本:

.text()
获取或设置HTML元素的文本内容。如果在没有任何参数的情况下调用它,它将获取一个值;如果向它传递一个值,它将设置一个值。因此
$(this).text(“#searchfield”)
$(this)
(您的
.icon search
)的内部文本设置为字符串
“#searchfield”

现在,表单元素没有内部文本,它有一个值,因此
.val()
,否则其工作方式与
.text()
相同

编辑:

另外,
$(“#searchfield”)
查找ID为“searchfield”的元素。您应该将
id=“searchfield”
添加到文本字段,或者将脚本更新为

var searchstring = $('input[name=searchfield]');

您的代码可以访问DOM对象

请尝试
$(“#searchfield”).attr('value')

您可以将任何想要的属性放入attr()函数中并获取它。要获得它的id,只需使用
$(“#搜索字段”).attr('id')


就我个人而言,我使用它的次数比使用
val()
要多,因为它会导致其他一些DOM对象出现跨浏览器问题。

我尝试应用您的方法,结果显示未定义。我应该怎么做:(它不工作。它显示未定义。我是否从html文件中获取错误数据?您的html代码需要修复。类型应更改为“text”。它应该是
alert("searchfield.  " + searchstring.val() +  " hahah");
alert(myTextbox.val()); // get value
myTextbox.val('test');  // set value
var searchstring = $('input[name=searchfield]');