0

デフォルト値「キーワードを入力してください」を持つ入力ボックスがあります。他にも 2 つのチェックボックスがあるので、ユーザーはチェックボックスを選択して検索するか、キーワードを入力して検索するか、またはその両方を行うことができます。念のため、チェックボックスのみを選択します。入力ボックスで何も変更されていないかどうかを検出し、その値を空に設定したいと思います。jqueryでこれを行うにはどうすればよいですか?

    <input name="KeywordBox" class="BasicSearchInputBox" type="text" 
size="300" value="Enter Keywords"/> 

このようなもの???

if (~$("input").change(function ()) {do sth;}

これを試してみました:動作していません..

        var keywords = encodeURIComponent($(".BasicSearchInputBox").val()); 

if (keywords.indexOf("Enter Keywords") != -1)
                 {
                     url += '&k=' + checkboxValues;
                     window.location.href=url;
                 }
            if (keywords.indexOf("Enter Keywords") == -1){               
             window.location.href=url+'&k='+keywords+checkboxValues;
             }
4

3 に答える 3

0

使用する代わりに、indexOf直接比較することができます。

    var keywords = encodeURIComponent($(".BasicSearchInputBox").val()); 

    if (keywords == "Enter Keywords")
    {
        window.location.href = url + '&k=' + checkboxValues;
    }
    else{               
        window.location.href = url + '&k=' + keywords + checkboxValues;
    }
于 2012-03-01T03:28:49.280 に答える
0

何かのようなもの:

function defaultTxt(obj) {
    var txt=obj.val();
    obj.focus(function(){
        if(obj.val()==txt) {obj.val('');}
    }).blur(function(){
        if(!obj.val()) {obj.val(txt);}
    });
}

次に、ループを介して割り当てを呼び出します。

// Array or elements
var elems=['input'];
$(elems).each(function(){
    defaultTxt($(this));
});
于 2012-03-01T03:31:39.060 に答える
0

透かしを入れようとしているようです。ブラウザーのサポート要件によっては、プレースホルダー属性を確認することをお勧めします。テキスト ボックスの値を実際に変更することなく、すてきな透かしを作成できます。(クロスブラウザ方式で同じことを実現する jQuery プラグインは数多くあります。)

<input type="text" placeholder="Enter Keywords" /> 
于 2012-03-01T03:30:28.247 に答える