相关疑难解决方法(0)

如何在JavaScript中将字符串转换为布尔值?

我可以将表示布尔值的字符串(例如,'true','false')转换为JavaScript中的内部类型吗?

我有一个隐藏的HTML格式,根据用户在列表中的选择进行更新.此表单包含一些表示布尔值的字段,并使用内部布尔值进行动态填充.但是,一旦将此值放入隐藏的输入字段,它就会变成一个字符串.

我可以找到确定字段的布尔值的唯一方法,一旦将其转换为字符串,就要依赖于字符串表示的字面值.

var myValue = document.myForm.IS_TRUE.value;
var isTrueSet = myValue == 'true';
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来实现这一目标?

javascript

2328
推荐指数
46
解决办法
181万
查看次数

使用Javascript中的三元运算符将字符串转换为布尔值?

我有一个来自PHP端的结果,json_encode并将所有值作为字符串发送(而不是它的原始类型).来的字符串quote_tax是a 1|0,当然这是true|false例如:

{
  "country_id": "3",
  "country_name": "Italy",
  "contract_tax": "1",
  "quote_tax": "0",
  "contract_inflation": "0",
  "quote_inflation": "0"
}
Run Code Online (Sandbox Code Playgroud)

当我想基于这样的值执行某些操作时,因为它们以字符串形式出现,我需要做这样的事情:

 data.quote_tax == '1' 
                ? $('#contract_tax').val(1).attr('checked', 'checked') 
                : $('#contract_tax').val(0).removeAttr('checked');
Run Code Online (Sandbox Code Playgroud)

我确实知道.parseInt()将它们转换为整数,但我相信那时我需要进行相同的比较但是这种情况比较INT:

 data.quote_tax == 1 
                ? $('#contract_tax').val(1).attr('checked', 'checked') 
                : $('#contract_tax').val(0).removeAttr('checked');
Run Code Online (Sandbox Code Playgroud)

我试过这种方式:

 Boolean(data.quote_tax) == true 
                ? $('#contract_tax').val(1).attr('checked', 'checked') 
                : $('#contract_tax').val(0).removeAttr('checked');
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为Boolean(data.quote_tax)总是评价true即使data.quote_tax = '0'.

我已经检查了这些帖子,但我找不到合适的解决方案:

任何想法在这里有什么问题或如何做到这一点?

javascript jquery

2
推荐指数
1
解决办法
669
查看次数

标签 统计

javascript ×2

jquery ×1