首页 > 解决方案 > 如果页面上所有输入文本的输入值为 NaN,则将文本的输入值更改为 -999

问题描述

我想将文本值更改为 -999,因为它的值是 NaN。我确实有代码,但是我想为 50 个输入框做,我不想写 50 次。请看一下我的代码,并给我您宝贵的建议。

if($('input[name="tt1"]').val() === 'NaN') {
  $('input[name="tt1"]').val('-999');
};
if($('input[name="tt2"]').val() === 'NaN') {
  $('input[name="tt2"]').val('-999');
};
if($('input[name="tt3"]').val() === 'NaN') {
  $('input[name="tt3"]').val('-999');
};
if($('input[name="tt4"]').val() === 'NaN') {
  $('input[name="tt4"]').val('-999');
};

// and so on..
<input name='tt1' value='NaN'><br>
<input name='tt2' value='NaN'><br>
<input name='tt3' value='NaN'><br>
<input name='tt4' value='NaN'><br>
and so on...

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

标签: jquery

解决方案


您可以使用属性选择器,有很多选项可供选择。如果您input names一开始就tt可以将选择器更改为以下内容

$('input[name^="tt"]').each(function(){
   if($(this).val() === 'NaN') { // use $(this) here at that is one of each input elements
      $(this).val('-999'); 
   };
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input name='tt1' value='NaN'><br>
<input name='tt2' value='NaN'><br>
<input name='tt3' value='NaN'><br>
<input name='tt4' value='NaN'><br>


推荐阅读