2010-12-09 44 views
0

我想顯示來自數據庫的一些數據。我用阿賈克斯來做到這一點。 但是發生了一些錯誤,在我的頁面中更改了一些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,然後從文本值中使用一些過濾字符(使用正則表達式)。

匹配後,ajax將發送到數據庫然後過濾數據庫中的數據。之後數據將顯示在頁面內。

+0

@klox,你從php得到什麼,你可以檢查與螢火蟲,如果你正在獲取數據? – kobe 2010-12-09 07:44:37

+0

Uncaught TypeError:Object# has no'match' – klox 2010-12-09 07:49:43

回答

1

你正在用你的變量做一些奇怪的事情。

最初,barCode=$("#model").val();看起來很合理,但您可能想將它與上面的定義相結合。

然後調用var data1 = $("#model").val(barCode.substr(0,barCode.length-8));,所以數據1實際上是一個jQuery對象:http://api.jquery.com/val/#val2

所以它看起來像您所呼叫VAL(東西),並希望取回的字符串,就像如果你想叫VAL() 。你可能想要做的是說

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

因爲這會給你一個什麼樣的在#model的實際值。

此外,matches是一個數組,所以你可能要調用

data:"tversion="+matches.length+"&action=tunermatches",代替(注意添加.lengthmatches)。