尝试在select中设置值时遇到问题。我一直看到NaN作为我的结果(在某些浏览器中 - 主要是Android智能手机/平板电脑的默认浏览器)
我正在运行一个简单的if语句,并在条件为真时设置值:
if (variable1 >= variable2)
{
$('select[title="title"]').val(variable1);
}
如果在if语句之前对variable1和variable2进行'typeof'检查,则将它们都显示为数字。尽管如此,浏览器中select中显示的结果值仍为NaN。
我甚至试过围绕变量包装javascript Number()函数,如:
if (Number(variable1) >= Number(variable2))
{
$('select[title="myTitle"]').val(Number(variable1));
}
但我仍然得到相同的结果!
注意:这在台式机/笔记本电脑浏览器甚至是我的三星Galaxy S2上的Opera Mobile上运行良好,但我正努力在任何手机上运行这个应用程序,我想在错误检查中完成。
编辑: 万一这是我的选择问题(如下所示)这里有什么问题? 是因为它在返回时被转换为字符串吗?
var startPoint = this.do_calcTotal(); // typeof startPoint shows as number
var endPoint = startPoint + 12; // typeof endPoint shows as number
var mySelect = '<select title="myTitle" class="myClass">';
for (o=startPoint; o<endPoint; o++)
{
mySelect += '<option>'+Number(o)+'</option>'; // is this right?? it shows 'o' and 'Number(o)' as typeof number!?
}
mySelect += '</select></span></div>';
return mySelect;
编辑:以及将当前所选值添加到范围以显示的代码...
function do_changeNumberSpan(value)
{
$('.mySpan').text(Number(value)); // even tried throwing a Number() round the value here!!
}
答案 0 :(得分:1)
确定。看看这个jsfiddle。这应该可以帮助您了解您的目标是什么......以及如何实现目标。 http://jsfiddle.net/aaronfrost/yFuyu/