如果语句在val()

时间:2017-02-22 07:56:49

标签: javascript jquery

我有两个字段和一个复选框。

我需要通过val()将数据从第一个字段发送到第二个字段。

但如果选中复选框,我需要添加一些文字,如果未选中复选框,我也需要添加一些文字。

例如,如果选中,则选中"选中",取消选中 - "取消选中"。

这是代码示例

var length = $('#fieldname7_3_caption').html();
var width = $('#fieldname8_3_caption').html();
$('.field-hidden').val('First var:' + firstVar+ '\nSecond var: ' + secondVar + if($('#fieldname28_3').is(':checked')) ? 'checked' : 'unckecked');

但是在控制台中我得到了这个错误:

未捕获的SyntaxError:如果

,则出现意外的令牌

由于

2 个答案:

答案 0 :(得分:4)

丢失if

var length = $('#fieldname7_3_caption').html();
var width = $('#fieldname8_3_caption').html();
$('.field-hidden').val('First var:' + firstVar+ '\nSecond var: ' + secondVar + ($('#fieldname28_3').is(':checked')) ? 'checked' : 'unckecked');

或简化它:

var length = $('#fieldname7_3_caption').html();
var width = $('#fieldname8_3_caption').html();

var res1 = 'First var:' + firstVar + '\nSecond var: ' + secondVar; 

var res2 = if($('#fieldname28_3').is(':checked')) ? 'checked' : 'unckecked';

var res = res1 + res2;

$('.field-hidden').val(res);

答案 1 :(得分:1)

您正在使用单行三元语句,因此您应删除if ..

像这样:

var length = $('#fieldname7_3_caption').html();
var width = $('#fieldname8_3_caption').html();
$('.field-hidden').val('First var:' + firstVar+ '\nSecond var: ' + secondVar + $('#fieldname28_3').is(':checked') ? 'checked' : 'unckecked');

在此处阅读有关三元的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator