这是我在Firefox Jetpack中使用jQuery时遇到的一个问题。在我的Jetpack的代码,我动态地选择和他们各自的 值创造了一些选择框:使用jQuery获取选择列表的值
...
listOfWords[i] = "<select id=clozefox_answer> <option
value=wrongAnswer>distractor</option>"
listOfWords[i] += "<option value=trueAnswer>" + currentWord +
"</option></select>"
...
textStr = listOfWords.join(" ");
$(this).html(textStr);
这工作得很好。用户做出一些选择,现在后使用下拉选择列表页面上点击了计算分数按钮,我运行一个函数来遍历的选择框,并得到他们选择的值:
$(doc).find("select[id=clozefox_answer]").each(function (index) {
var selectedValue = $(this).val();
if (selectedValue == "trueAnswer") {
numCorrectAnswer++;
}
});
即使上面的代码正确匹配我的动态创建的SELECT,$(this).val()
不会返回选项值,而是返回选项文本(例如“distractor”或任何包含变量currentword)。我如何获得期权价值(例如“trueAnswer”或“wrongAnswer”)?
当然不能伤害! :) – rfunduk 2010-01-06 14:44:51
我已经改变了代码的相关部分,但是仍然是同样的问题,$(this).val()返回选项文本而不是选项值: listOfWords [i] =“”; ... $(DOC).find( “选择[ID = 'clozefox_answer']”)每个(函数(指数){ \t变种了selectedValue = $(本).VAL(); \t如果(了selectedValue == “trueAnswer”){ \t numCorrectAnswer ++; \t \t}} ); – 2010-01-06 14:52:05