0

我正在设计一个动态下拉表单,以帮助我的客户为他们选择合适的产品,并希望测试该功能以输出最终结果。当我添加 JS 函数以从最后一个下拉列表中获取信息并使用它来构建结果列表时,整个脚本似乎中断了。我在 Chrome 中的控制台吐出Uncaught SyntaxError: Unexpected string(指向损坏的 JS 的倒数第三行),尽管它与我的其他函数几乎相同,除了一些更改的变量。

基本上,我使用 JS 从下拉列表中提取信息,下拉列表使用 GET 将该数据发送到 PHP 脚本。然后,该脚本使用该数据查询 SQL DB 以动态构建下一个下拉列表的选项列表。在表单的最后一个下拉列表之后,JS 将解析 PHP 脚本以接收一些数据(最终是一个表)并使用该数据更新一个 DIV。这是脚本中断的地方。添加最后一个 JS 函数会破坏脚本,而删除它会使其保持工作。

您可以在此处测试工作脚本并在此处测试损坏的脚本

这是工作的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 或任何内容,请告诉我。

提前感谢您的帮助

同样,您可以在此处查看工作脚本和在此处查看损坏的脚本

4

1 回答 1

1

您忘记在 stval 之后添加“+”号。

$("#findresults").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval + "&dig_num=" + dnum));
于 2013-09-27T14:22:57.823 回答