2012-03-01 3 views
0

私は入力欄にデフォルト値 "enter keywords"を持っています。私は2つのチェックボックスを持っているので、ユーザーはチェックボックスとヒットサーチを選択するか、キーワードを入力して検索するか両方を行うことができます。ただの場合には、チェックボックスを選択するだけです。入力ボックスで何も変更されていないかどうかを検出し、値を空に設定したいと思います。 jqueryでこれをどうやって行うのですか?入力ボックスで何も変更されていないかどうかを検出する方法

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

このようなもの???

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

この試みた:代わりにあなたが直接比較を行うことができますindexOfを使用しての作業ではない。..

 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; 
      } 
+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);} }); } 

次にループを通してそれを割り当てる呼び出します値が空であるか「キーワードを入力」と等しい場合。無視する場合は、値を使用します。 – j08691

+0

しようとしていません:( –

+0

encodeURIComponentはスペースをエンコードしませんか?+または%20のいずれかで、この場合は忘れてしまいます – Rick

答えて

0

ウォーターマークを作成しようとしているようです。ブラウザのサポート要件に応じて、プレースホルダ属性を調べることができます。実際にテキストボックスの値を変更せずにすばらしい透かしを作成できます。 (クロスブラウザの方法で同じことを達成する数多くのjQueryのプラグインがあります。)

<input type="text" placeholder="Enter Keywords" /> 
0

を。

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

    if (keywords == "Enter Keywords") 
    { 
     window.location.href = url + '&k=' + checkboxValues; 
    } 
    else{    
     window.location.href = url + '&k=' + keywords + checkboxValues; 
    } 
+0

($( '。BasicSearchInputBox').Val()== "キーワードを入力") –

+0

私の編集したアイテムをチェックする回答。 – ShankarSangoli

0

何かのように:

// Array or elements 
var elems=['input']; 
$(elems).each(function(){ 
    defaultTxt($(this)); 
}); 
関連する問題