4

jqueryの検索ボックスを勉強しています。

html から文字列 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>

私のjqueryファイルに私が持っている

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

クリックしていくつかの文字列を検索したとき。

いくつかの文字列の代わりに Object オブジェクトを示しています。

オブジェクトを文字列に変換する方法がよくわかりません。

誰もそれを変換する方法を知っていますか?

4

2 に答える 2

10

このコード行は何も意味しません:

var searchstring  = $(this).text('#searchfield');// $('#searchfield');

実際には次のようになります。

var searchstring = $('#searchfield');

次に、次のことができるようになります。

searchstring.focus();

そして、次のようにテキストを取得します.val()

alert("searchfield.  " + searchstring.val() +  " hahah");

.text()HTML 要素のテキスト コンテンツを取得または設定します。パラメータなしで呼び出された場合は値を取得し、が渡された場合は値を設定します。したがって、 (your )$(this).text('#searchfield')の内部テキストをstring に設定します。$(this).icon-search"#searchfield"

現在、フォーム要素には内部テキストがなく、があり、したがって.val()、それ以外の場合は同じように機能します.text()

alert(myTextbox.val()); // get value
myTextbox.val('test');  // set value

編集:

また、$('#searchfield')ID「searchfield」の要素を探します。テキストフィールドに追加id="searchfield"するか、スクリプトを次のように更新する必要があります

var searchstring = $('input[name=searchfield]');
于 2012-07-30T06:07:18.460 に答える
0

コードは DOM オブジェクトにアクセスします。

試す$("#searchfield").attr('value')

必要な任意の属性を attr() 関数に入れて取得できます。そのIDを取得するには、単に使用します $("#searchfield").attr('id')

個人的にはval()、他の DOM オブジェクトでクロス ブラウザーの問題が発生するため、これを よりもよく使用します。

于 2012-07-30T06:13:02.090 に答える