2010-12-09 10 views
0

DBからデータを表示したいです。私はそれを行うためにajaxを使用しています。 しかし、何か間違っている、私は私のページ内のいくつかのjqueryスクリプトを変更した後に表示されません。jQueryスクリプトを修正したあと、ajax関数がありません

た私のページが結果を表示しない原因と、次のスクリプトの一部:

$("#model").change(function() { 
      var barcode; 
      barCode=$("#model").val(); 
      var data1 = $("#model").val(barCode.substr(0,barCode.length-8)); 
      var data2 = $("#serial").val(barCode.substr(barCode.length-8,8)); 
      var str= data1; 
      var matches=str.match(/[TEJUG2]\D*D/i); 
     $.ajax({ 
        type:"post", 
        url:"process1.php", 
        data:"tversion="+matches+"&action=tunermatches", 
        cache:false, 
        async:false, 
        success: function(res){ 
           $('#value').replaceWith(
              "<div id='value'><h6>" + res + "</h6></div>" 
              ); 
           } 
        }); 

私は何をしたいことは別のいくつかのデータの後です。スクリプトはdata1を読み込み、テキスト値からフィルタリング文字を使います(regexを使います)。

の後、ajaxはDBに送信し、DB内のデータをフィルタリングします。そのデータがページ内に表示された後に

+0

@klox、あなたはPHPから戻ってきますが、データを取得している場合は、Firebugで確認できますか? – kobe

+0

未知の型エラー:オブジェクト#にはメソッド '一致'がありません – klox

+0

ここにいくつかのエラーがあります。var matches = str.match(/ [TEJUG2] \ D * D/i); – kobe

答えて

1

あなたは変数でいくつか奇妙なことをしています。

当初、barCode=$("#model").val();は妥当と思われますが、それを上記の定義と組み合わせることもできます。

次にあなたがvar data1 = $("#model").val(barCode.substr(0,barCode.length-8));を呼び出すので、DATA1は、実際にjQueryオブジェクトである:http://api.jquery.com/val/#val2

あなたはヴァル(何かを)を呼び出すと、文字列を取り戻すことを期待しているようなので、それはあなたがヴァル(と呼ばれるのだ場合のように、見えます) 。あなたはおそらく、やりたいことは、これはあなたに#modelに何の実際の値が得られますので

var data1 = $("#model").val(barCode.substr(0,barCode.length-8)).val();

を言っています。また

matchesは配列であるので、あなたはおそらく(matchesから.lengthの追加に注意してください)の代わりに

data:"tversion="+matches.length+"&action=tunermatches",を呼びたいです。

+0

私は私のプロジェクトがまだ働くことができると思う変更なしで 'matches.length'に' matches'を行います。 – klox

関連する問題