如果页面上的所有输入文本都是 NaN,则将文本的输入值更改为 -999

时间:2021-07-25 13:33:27

标签: jquery

我想将文本值更改为 -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>

2 个答案:

答案 0 :(得分:1)

您可以使用 attribute selectors 有很多选项可供选择。如果您所有的 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>

答案 1 :(得分:1)

给他们一个相同的班级,这样你就可以一起选择他们。然后使用一个函数作为值,这样它就可以检查当前值并返回一个替换值。

$("input.tt").val(function() {
  return this.value == "NaN" ? "-999" : this.value;
});
<input name='tt1' value='NaN' class="tt"><br>
<input name='tt2' value='NaN' class="tt"><br>
<input name='tt3' value='NaN' class="tt"><br>
<input name='tt4' value='NaN' class="tt"><br>
and so on...

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

相关问题