我们如何将字符串转换为布尔值?

时间:2012-07-04 18:15:48

标签: javascript jquery

  

可能重复:
  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我们可以将字符串转换为布尔值吗?

7 个答案:

答案 0 :(得分:5)

var value = ('true' === $("select").val() );

答案 1 :(得分:1)

你可以使用第三个:

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

这会将0, "", false, null, undefined, NaN变为false,其他所有内容变为true

但是使用我的演绎能力,你想要"false" -> false之类的东西,为此你可以使用其中一种:

var bol = something === "true"; //false for anything different than true
var bol = something !== "false"; //true for anything different than false

答案 2 :(得分:0)

尝试使用此代码:

var myBool = myString == "true";

答案 3 :(得分:0)

如何写自己的?

我在JavaScript语法中并不完全坚定,但试试这个:

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

我确信有更好的解决方案。这个只是我的头脑。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

这样的东西
  

$(&#34; select&#34;)。val()==&#39; true&#39;

应该这样做。

答案 6 :(得分: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.");
  }
};