1

重複の可能性:
JavaScriptで文字列をブール値に変換するにはどうすればよいですか?

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、文字列をブール値に変換できますか?

4

7 に答える 7

5
var value = ('true' === $("select").val() );
于 2012-07-04T18:18:43.397 に答える
1

3番目のものを使用できます:

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
于 2012-07-04T18:46:38.543 に答える
0

このコードで試してください:

var myBool = myString == "true";
于 2012-07-04T18:17:51.833 に答える
0

自分で書いてみてはどうですか?

私は JavaScript 構文に正確には自信がありませんが、これを試してください:

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

より良い解決策があると確信しています。これは私の頭のてっぺんからのものです。

于 2012-07-04T18:18:17.933 に答える
0
var myBoolean = (myString === 'true') ? true : false;
于 2012-07-04T18:19:40.047 に答える
0

何かのようなもの

$("select").val() == '真'

トリックを行う必要があります。

于 2012-07-04T18:19:57.043 に答える
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.");
  }
};
于 2012-07-04T18:21:35.003 に答える