web-dev-qa-db-ja.com

JQueryを使用してテキストボックスの値を設定する

My Jadeテンプレート-

input#main_search.span2(
    style = 'height: 26px; width: 800px;' ,
    type = 'text',
    readonly='true',
    name='searchBar',
    value='test'
)

JSファイル-

$('#searchBar').val('hi')
console.log('sup')

コンソール出力-

sup

ただし、テスト時のsearchBar値の統計。私は何を間違えていますか?

9
Narabhut

文字列であるsupを直接記録しています

console.log('sup')

また、間違ったIDを使用しています

テンプレートには#main_searchしかし、あなたは#searchBar

これを試していると思います

$(function() {
   var sup = $('#main_search').val('hi')
   console.log(sup);  // sup is a variable here
});
14
Sushanth --

正しいセレクターがあることを確認してから、ページの準備が整うまで待機し、関数を実行するまで要素が存在することを確認します。

_$(function(){
    $('#searchBar').val('hi')
});
_

デレクが指摘するように、IDも間違っています。

$('#main_search')に変更します

5
Zevi Sternlicht

1)間違った方法で呼び出しています:

$(input[name="searchBar"]).val('hi')

2)動作しない場合は、ページの最後で.jsファイルを呼び出すか、document.readyイベントで関数をトリガーします

$(document).ready(function() {
  $(input[name="searchBar"]).val('hi');
});
2
AZee

そのjQueryセレクターで間違ったアイテムをターゲットにしている。検索バーのnamesearchBarではなくidです。使用したいのは$('#main_search').val('hi')です。

1
Derek Peterson
$(document).ready(function() {
 $('#main_search').val('hi');
});
0
SagarPPanchal