如果Jquery中的值为null或为空,则分配0



我想为下面的jQuery语句使用一个三元运算符,比如如果employee_salary是emptynull,我想赋值为0(零(。否则,只需指定实际值。

jQuery('#employee_form #employee_salary').val(parseInt(selected_table_data['employee_salary']))

var employee_salary = selected_table_data['employee_salary'];
var salary_form_value = employeeSalary ? parseInt(employee_salary) : '0';
jQuery('#employee_form #employee_salary').val(salary_form_value);
// If you want to inline it, you could do the following:
jQuery('#employee_form #employee_salary').val(
selected_table_data['employee_salary']
? parseInt(selected_table_data['employee_salary']
: 0
);

以下是的示例

const s1 = null;
console.log(s1 ? s1 : 'There was a null value');
const s2 = ''
console.log(s2 ? s2 : 'There was an empty string');
const s3 = 'value';
console.log(s3 ? s3 : 'There was no value');

您可以简单地使用ternary运算符。

selected_table_data['employee_salary']
? parseInt(selected_table_data['employee_salary'])
: 0

console.log('' || 0);
console.log(null || 0);
console.log(undefined || 0);

我怀疑parseInt是你自己尝试的(足够公平(。我建议你去掉它,试着简单地

jQuery('#employee_form #employee_salary').val(selected_table_data['employee_salary'] || 0);

一个简单的解决方案。

jQuery('#employee_form #employee_salary').val(selected_table_data['employee_salary'] * 1)

如果是nullundefined'',则使用||运算符或仅使用简单的三元运算符即可。但它不适用于像' '这样的空格(因为Boolean (' ')的计算结果为true(,如果你想用任何空字符串或空格替换零,这是不好的。所以我建议你这样做,

jQuery('#employee_form #employee_salary').val(parseInt(selected_table_data['employee_salary']) ? parseInt(selected_table_data['employee_salary']) : 0);

这不仅可以检查是否为null、未定义、空字符串和空格,还可以防止NaN成为表单上的值(而不是零(。

最新更新