嘗試在select中設置值時遇到問題。我不斷看到的NaN作爲我的結果(在某些瀏覽器 - 主要是Android智能手機/平板電腦的默認瀏覽器)使用javascript在選擇下拉列表中設置值
我運行一個簡單的if語句和設定值,如果條件爲真:
if (variable1 >= variable2)
{
$('select[title="title"]').val(variable1);
}
凡在if語句顯示它們都是數字之前,'typeof'檢查變量1和變量2。儘管如此,瀏覽器中選擇的結果值是NaN。
我甚至試過包裹的JavaScript號碼周圍,像這樣的變量()函數:
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!!
}
你說在選擇框中顯示的值。這是否意味着您看到「NaN」作爲您的選擇框的選項?這可能意味着問題出在您的選項生成代碼上。 – InvisibleBacon
是的。它應該顯示一個數字,它顯示空白,我顯示該值的跨度顯示NaN。雖然好想法。我將檢查我正在構建選項的循環。 –
@InvisibleBacon確定這是我選擇的構建循環。我在這裏弄錯了什麼,或者只是我回來了,它變成了一個字符串而不是價值的事實? –