当我尝试添加选项时,我的价格计算器出了问题。 (jsFiddle here = http://jsfiddle.net/wemdragon/ZG8m)
我想做的是它说:
var firstoption=$('select#myselect')
我希望将期权价值变成价格值,但似乎无法做到。它适用于我的购物车,但不适用于JavaScript。
也许我正试图在错误的地方添加价值,我不知道哪里出错了。
答案 0 :(得分:2)
您的选择ID(至少在小提琴中)被认为是mySelect
,但您尝试访问ID #myselect
。除非您更改标记的ID,否则它应如下所示:
var firstoption = $('select#mySelect');
我还注意到您未选择选项时指定了默认值0。出于某种原因,!firstoption.val()
,当val()为零时,返回false而不是true,就像if语句似乎是期望的那样。 !0在这种情况下显然是正确的。
我更改了逻辑以匹配您的标记,它似乎表现得像您可能预期或想要的那样:
if (firstoption.val() == 0) {
error.html('Please include an option!');
firstoption.focus();
}
修改更新小提琴:http://jsfiddle.net/ZG8mv/8/
现在,focus()执行将按顺序显示它们是错误的。即,如果没有指定宽度和没有选项,则该框将获得焦点。以前,选项信息将胜过其他两个。