当我尝试添加选项时,我的价格计算器出现问题。(这里的 jsFiddle = http://jsfiddle.net/wemdragon/ZG8m)
我想做的是它说的地方:
var firstoption=$('select#myselect')
我希望期权价值变成价格价值,但似乎做不到。它适用于我的购物车,但不适用于 JavaScript。
也许我试图在错误的地方添加值,我不知道出了什么问题。
当我尝试添加选项时,我的价格计算器出现问题。(这里的 jsFiddle = http://jsfiddle.net/wemdragon/ZG8m)
我想做的是它说的地方:
var firstoption=$('select#myselect')
我希望期权价值变成价格价值,但似乎做不到。它适用于我的购物车,但不适用于 JavaScript。
也许我试图在错误的地方添加值,我不知道出了什么问题。
您的选择 id (至少在小提琴中)是 camelCased asmySelect
但您正在尝试访问 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() 执行将按错误的顺序显示。即,如果没有指定宽度和选项,则该框将获得焦点。以前,选项消息将胜过其他两个消息。