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

Assign 0 if the value is null or empty in Jquery

我想为下面的 jQuery 语句使用三元运算符,例如如果 employee_salary 是 emptynull,我想分配为 0(零) .否则,只需分配实际值。

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

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

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

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

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');

使用 ||如果它是 nullundefined'',运算符或只是一个简单的三元运算符就可以工作。但是它不适用于像这个 ' ' 这样的空白 space (因为 Boolean (' ') 评估为真)如果你想替换任何空字符串或空白 spaces 为零。所以我建议你这样做,

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

这不仅可以让您检查是否为 null、未定义、空字符串和白色 spaces,还可以防止 NaN 成为您表单上的值(取而代之的是零) .

我怀疑 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)