Javascript转换true / false值字符串文本

时间:2014-03-21 18:11:28

标签: javascript jquery

我有一个jQuery脚本,用于收集变量中复选框的值:

var 1_val = $("input[type='checkbox'][name='val_1']").prop( "checked" );
var 2_val = $("input[type='checkbox'][name='val_2']").prop( "checked" );

然后我将这些信息输出到要通过电子邮件发送的信息中:

...<strong>Value 1</strong>: 1_val + '<br /><strong>Value 2</strong>: ' + 2_val + '<br />...

但是在消息体中,我得到了布尔值为true / false的字符串,我想要制作一些更加用户友好的消息,如是/否。我怎样才能改变它?

4 个答案:

答案 0 :(得分:6)

将该值分配给变量:

var 1_val = $("input[type='checkbox'][name='val_1']").prop( "checked" ) ? "Yes" : "No";

答案 1 :(得分:1)

您可以使用三元运算符(本质上是一个简短的if语句):

(2_val ? 'Yes' : 'No')

如果Yes,则此表达式的值为2_val == true字符串,否则为No

答案 2 :(得分:1)

输出时,您可以将1_val替换为(1_val ? 'Yes' : 'No')。 (并对2_val执行相同的操作)或者,如果您只将这些变量用于此输出,则可以执行tymeJV建议的操作。

答案 3 :(得分:1)

可能远不是最好的解决方案,但有一种方法是:

var YesNo = {
   'true' : 'Yes',
   'false' : 'No'
};

在HTML片段中使用这样的内容:

var html = '<strong>Value 1 :</strong>' 
    + YesNo[val_1] + '<strong>Value 2</strong>' + YesNo[val_2];