2013-09-27 63 views
0

我正在設計一個動態下拉表單,它將幫助我的客戶爲他們選擇正確的產品,並且正在測試該功能以輸出最終結果。當我添加JS函數從最後一個下拉菜單中獲取信息並使用它來構建結果列表時,整個腳本似乎中斷。我的Chrome中的控制檯吐出了Uncaught SyntaxError: Unexpected string(指向破損JS的倒數第三行),儘管它與我的其他函數幾乎相同,除了一些變化的變量。當啓用最後一個JS功能時,動態下拉表單打破

基本上,我使用JS從下拉菜單中獲取信息,該下拉菜單使用GET將該數據發送到PHP腳本。該腳本然後使用該數據查詢SQL DB以動態構建下一個下拉列表的選項列表。在表單的最後一個下拉列表之後,JS會解析PHP腳本以接收一些數據(最終是一個表),並用該數據更新DIV。這是腳本中斷的地方。添加最後一個JS函數會中斷腳本,同時刪除它可以保持它的工作。

您可以測試工作的腳本here和破碎的腳本here.

這裏的工作JS:

 $(function(){ 
      $("#type").change(function() { 
       var tval = document.getElementById('type').value; 
       $("#source").load(encodeURI("findbackend.php?type=" + tval)); 
      }); 
      $("#source").change(function() { 
       sval = document.getElementById('source').value; 
       $("#range").load(encodeURI("findbackend.php?source=" + sval)); 
      }); 
      $("#range").change(function() { 
       rval = document.getElementById('range').value; 
       $("#setpoint").load(encodeURI("findbackend.php?range=" + rval)); 
      }); 
      $("#setpoint").change(function() { 
       stval = document.getElementById('setpoint').value; 
       $("#dig_num").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval)); 
      }); 
      }); 

而這裏的碎JS:

 $(function(){ 
      $("#type").change(function() { 
       var tval = document.getElementById('type').value; 
       $("#source").load(encodeURI("findbackend.php?type=" + tval)); 
      }); 
      $("#source").change(function() { 
       sval = document.getElementById('source').value; 
       $("#range").load(encodeURI("findbackend.php?source=" + sval)); 
      }); 
      $("#range").change(function() { 
       rval = document.getElementById('range').value; 
       $("#setpoint").load(encodeURI("findbackend.php?range=" + rval)); 
      }); 
      $("#setpoint").change(function() { 
       stval = document.getElementById('setpoint').value; 
       $("#dig_num").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval)); 
      }); 
      $("#dig_num").change(function() { 
       dnum = document.getElementById('dig_num').value; 
       $("#findresults").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval "&dig_num=" + dnum)); 
      }); 
      }); 

我已經看了它一百次,並不知道什麼是打破腳本。

如果你想看到PHP或任何東西只是讓我知道。

在此先感謝任何幫助。

同樣,你可以查看工作腳本here和破碎的腳本here.

回答

1

你忘stval後添加一個「+」號。

$("#findresults").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval + "&dig_num=" + dnum)); 
+0

哦,哇!非常感謝。多麼簡單的錯誤。我無法相信我錯過了多久。 – ZZZZZZZZZZ