使用javascript在选择下拉列表中设置值

时间:2011-09-02 13:43:26

标签: javascript android select nan

尝试在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!!
}

1 个答案:

答案 0 :(得分:1)

确定。看看这个jsfiddle。这应该可以帮助您了解您的目标是什么......以及如何实现目标。 http://jsfiddle.net/aaronfrost/yFuyu/