2016-10-28 7 views
0

それは検索結果を絞り込むための検索機能に第二項を通過するように私はjQueryのオートコンプリートを変更していますを使用していません。私が午前問題は、私はオートコンプリートは、現在のjqueryの値

$(function() { 

    //var city = //$('#city').val(); 
    var source = 'search.php?city='; 
    //autocomplete 
    $(".auto").autocomplete({ 
    source: source+$('#city').val(), 
    minLength: 1 
    });    

}); 

は私が知っているURLに都市名を連結するさまざまな方法を試してみました

$(function() { 

    var city = $('#city').val(); //get the city value from text field 
    var source = 'search.php?city='; //URL where the search takes place 
    //autocomplete 
    $(".auto").autocomplete({ 
    source: source+city ,  //concatenation not working. 
    minLength: 1 
    });    

}); 

URLを上の都市を連結することができることである

var city = 'Austin' 

作品です。私は、ハードのテキストフィールドから変数を取得する機能のために働く必要がありますし、同じでそれをコーディングすることができるかどうので

$('#city').val() 

が不明です。右?

テキストフィールドは、この

<form action='' method='post'> 
    <p><label>Pharmacy Names : </label><input type='text' name='names' value='' class='auto'></p> 
    <p><label>City : </label><input type='text' name='city' id='city' value='' placeholder='Enter City First'></p> 
</form> 

のようなものであっても、私はこのポストGet the value in an input text box

を考えています何と一致Add form value to end of url - Jqueryこの記事は、私はテキストボックスの値を取得するには、正しいjqueryの呼び出しを使用していていることを示しています。それは働くべきであるように思われるが、そうではない。

+3

あなたはまだ街がないときにURLを設定します。 * autocomplete *はそれ以降のajaxリクエストで再度チェックしませんでした。 –

+0

私は最初の警告からそれを理解しました。テキストフィールドが空のロード時に関数が実行されるため、空になります。したがって、自動検索の実行中は空のままです。したがって、テキストの入力後に市の価値を設定する必要があります。 – user1794918

+2

'city'の値をチェックして、DOM Readyで' autocomplete'に渡すだけです。そのとき、値は空です。 'source'オプションとして関数を使う必要があり、その関数は' city'の値を取得してそれを使ってデータを取得する必要があります。 – JAAulde

答えて

0

これは、SQLクエリに2つの変数を渡すために2つのテキストボックスを使用できるように私のために働いたものです。

$(function() { 
//Pharmacy autocomplete 
$("#pharm").click(function() { 
var city = $("#city").val(); 

var str = "../../library/ajax/pharmacy_autocomplete/search.php?city="+city; 
    //autocomplete 
    $(".pharmacy").autocomplete({ 
     source: str, 
     minLength: 1 
    }); 
    }); 
}); 

#pharmテキストボックスは、都市のテキストボックスを入力した後でクリックが発生する場所です。私はこの機能の中にオートコンプリートを持っていたので、オートコンプリートに都市価値を渡す必要はなかった。これでcity値をURLに連結し、search.phpに2番目の値を渡すことができました。

1

スクリプトの動作は本当に正しいです。これは、スクリプトが初期化されたときにcity入力が空であるために発生します。

あなたはあなたcity入力にイベントハンドラを添付して、いつでもその上のユーザタイプ何か、変更あなたのオートコンプリートのsource必要があります:私はあなたのコードに問題があることだと思う

$(function() { 

    // initialize the autocomplete 
    var source = 'search.php?city='; 

    $(".auto").autocomplete({ 
     source: source, 
     minLength: 1 
    });    

    // event handler for yout input 
    $('#city').on('input', function (e) { 
     var city = this.value; 

     // set the new source to your autocomplete 
     // based on jQuery UI Autocomplete 
     // http://api.jqueryui.com/autocomplete/#method-option 
     $('.auto').autocomplete("option", "source", source+city); 
    }); 

}); 
+0

dashtinejad、これを行う適切な方法をありがとう。 – user1794918

関連する問題