当我尝试添加选项时,我的价格计算器出现问题。 (jsFiddle在这里=http://jsfiddle.net/wemdragon/ZG8m)
我想做的是它所说的:
var firstoption=$('select#myselect')
我希望将期权的值(value)转化为价格值(value),但我似乎做不到。它在我的购物车中有效,但在 JavaScript 中无效。
也许我试图在错误的地方添加值,我不知道出了什么问题。
最佳答案
您的选择 ID(至少在 fiddle 中)采用驼峰式命名为 mySelect
,但您试图访问 ID #myselect
。除非您更改标记的 ID,否则它应如下所示:
var firstoption = $('select#mySelect');
我还注意到您指定了默认值 0 来表示不选择选项。由于某种原因,当 val() 为零时,!firstoption.val()
返回 false 而不是 true,就像您的 if 语句似乎所期望的那样。 !0 在这种情况下显然是正确的。
我更改了逻辑以匹配您的标记,它的行为似乎符合您的预期或想要的:
if (firstoption.val() == 0) {
error.html('Please include an option!');
firstoption.focus();
}
编辑更新的 fiddle :http://jsfiddle.net/ZG8mv/8/
现在 focus() 执行将按错误的顺序显示。即,如果没有指定宽度并且没有指定选项,则该框将获得焦点。以前,选项消息会优先于其他两条消息。
关于javascript - 使用 JavaScript/jQuery 将下拉列表选项添加到价格计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181227/