使用javascript/jquery的价格计算器帮助(尝试添加下拉列表选项)

使用javascript/jquery的价格计算器帮助(尝试添加下拉列表选项),javascript,jquery,drop-down-menu,options,calculator,Javascript,Jquery,Drop Down Menu,Options,Calculator,当我尝试添加选项时,我的价格计算器有问题。(jsFiddle here=) 我想做的是它说: var firstoption=$('select#myselect') 我想把期权价值转换成价格价值,但似乎做不到。它可以在我的购物车中使用,但不能在JavaScript中使用 可能我试图在错误的位置添加值,我不知道出了什么问题。您选择的id(至少在小提琴中)被标记为mySelect,但您试图访问id#mySelect。除非更改标记的id,否则应如下所示: var firstoption = $('s

当我尝试添加选项时,我的价格计算器有问题。(jsFiddle here=)

我想做的是它说:

var firstoption=$('select#myselect')

我想把期权价值转换成价格价值,但似乎做不到。它可以在我的购物车中使用,但不能在JavaScript中使用

可能我试图在错误的位置添加值,我不知道出了什么问题。

您选择的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();
}
编辑更新的小提琴:


现在,focus()执行将按错误的顺序显示。即,如果没有指定宽度和选项,则该框将接收焦点。在此之前,选项消息将胜过其他两条。

var firstoption=$('select#myselect')。val()
翻译为:
var firstoption=$('#myselect')