0

当我尝试添加选项时,我的价格计算器出现问题。(这里的 jsFiddle = http://jsfiddle.net/wemdragon/ZG8m

我想做的是它说的地方:

var firstoption=$('select#myselect')

我希望期权价值变成价格价值,但似乎做不到。它适用于我的购物车,但不适用于 JavaScript。

也许我试图在错误的地方添加值,我不知道出了什么问题。

4

1 回答 1

2

您的选择 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() 执行将按错误的顺序显示。即,如果没有指定宽度选项,则该框将获得焦点。以前,选项消息将胜过其他两个消息。

于 2012-04-16T20:40:19.520 回答