我有一个包含2个选项的选择列表,yes
或no
,类似于:
<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
属性我们需要布尔值。所以我想知道有什么方法就像
pareInt
或parseFloat
我们可以将字符串转换为布尔值吗?
答案 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.");
}
};