我正在设计一个动态下拉表格,帮助我的客户为他们选择合适的产品,并希望测试该功能以输出最终结果。当我添加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或其他任何内容,请告诉我。
提前致谢 任何 帮助。
答案 0 :(得分:1)
您忘记在stval之后添加“+”符号。
$("#findresults").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval + "&dig_num=" + dnum));