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

Dc *_*ing 4 jquery search-box

我正在研究jquery搜索框.

从html获取string var我遇到了麻烦.

在我的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>
Run Code Online (Sandbox Code Playgroud)

在我的jquery文件中

$(".icon-search").click(function() {
  var searchstring  = $(this).text('#searchfield');// $('#searchfield');
  searchstring.focus();
  //$('#searchBox').html($('input:searchfield').val());
  alert("searchfield.  " + searchstring +  " hahah");
});
Run Code Online (Sandbox Code Playgroud)

当我点击搜索一些字符串.

它显示了Object对象而不是一些字符串.

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

有谁知道如何转换它?

Dav*_*und 10

这行代码没有任何意义:

var searchstring  = $(this).text('#searchfield');// $('#searchfield');
Run Code Online (Sandbox Code Playgroud)

它确实应该是:

var searchstring = $('#searchfield');
Run Code Online (Sandbox Code Playgroud)

然后你就能做到:

searchstring.focus();
Run Code Online (Sandbox Code Playgroud)

并通过以下方式检索文本.val():

alert("searchfield.  " + searchstring.val() +  " hahah");
Run Code Online (Sandbox Code Playgroud)

.text()获取或设置HTML元素的文本内容.如果在没有任何参数的情况下调用它,它将获取一个值,如果将值传递给它,它将设置一个值.所以$(this).text('#searchfield')$(this)(你的.icon-search)的内部文本设置为字符串"#searchfield".

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

alert(myTextbox.val()); // get value
myTextbox.val('test');  // set value
Run Code Online (Sandbox Code Playgroud)

编辑:

此外,$('#searchfield')查找ID"searchfield"的元素.您应该添加id="searchfield"到文本字段,或将脚本更新到

var searchstring = $('input[name=searchfield]');
Run Code Online (Sandbox Code Playgroud)