2012-07-04 95 views
0

可能重複:
How can I convert a string to boolean in JavaScript?如何將一個字符串轉換爲布爾值?

我有在它2個選項,yesno,就像一個選擇列表:

<select size="1"> 
    <option value="true">yes</option> 
    <option value="false">no</option> 
    </select> 

現在我想使用jquery-UI按鈕禁用屬性中的選定值,意思是:

$("button").button({ disabled : $("select").val() }); 

現在我的問題是,我們將通過$("select").val()獲得的價值是string

disabled屬性,我們需要布爾值。所以我想知道是否有任何方法就像

pareIntparseFloat我們可以通過它將字符串轉換爲布爾值?

+0

由於含糊不清,你應該指定你認爲是真還是假......本質上,所有非空字符串都是真的,即使是字符串「false」。你想要這樣嗎?請更具體請 – ajax333221

回答

0

嘗試使用此代碼:

var myBool = myString == "true"; 
0

如何編寫自己的?

我不是在JavaScript語法準確堅挺,但試試這個:

function a(inputString) 
    if(inputString == "true") 
     return true; 
    if(inputString == "false") 
     return false; 

我敢肯定有更好的解決方案。這是我的頭頂。

0
var myBoolean = (myString === 'true') ? true : false; 
+1

三元運算符沒有必要,你可以直接使用相等結果︰'var myBoolean = myString ==='true';' – ajax333221

+0

有人真的-1因爲我的評論?,這只是一個小小的改進,不是真的dv的理由:/ – ajax333221

+0

@ ajax333221是真實的,你的和被接受的答案更優雅。另外,我不只是討厭匿名downvoters。 – micadelli

0

喜歡的東西

$( 「選擇」)。VAL()== '真'

應該做的伎倆。

0

取決於您想要做多少次。如果它要在你的代碼中充斥我想補充像一個函數:

Boolean.parse = function (str) { 
    switch (str.toLowerCase()) { 
    case "true": 
     return true; 
    case "false": 
     return false; 
    default: 
     throw new Error ("Boolean.parse: Cannot convert string to boolean."); 
    } 
}; 
1

您可以使用第三個:

var num = +something; //toNumber 
var str = something + ""; //toString 
var bol = !!something; //toBoolean 

這會變成0, "", false, null, undefined, NaNfalse,一切以true

但是用我扣的權力,你想要的東西像"false" -> false,爲此,你可以使用其中的一個:

var bol = something === "true"; //false for anything different than true 
var bol = something !== "false"; //true for anything different than false 
相關問題