如何使用jQuery替换输入字段的特定值?

时间:2017-12-29 01:09:53

标签: javascript jquery

我在表单中有以下输入字段。我想删除undefined并用空格“”替换它。我似乎无法让它发挥作用。我只想删除“未定义”而不是原始值。

<input type="hidden" name="address1" id="address1" value="Some address undefined" class="address1">

<input type="hidden" name="address2" id="address2" value="Another address undefined" class="address1">

我只想删除undefined。到目前为止,我已经尝试过:

var str = $('input').value().replace(/undefined/g, 'ada');
$('input').value(str);

$('input:contains("undefined")').each(function(){ 
     $(this).html($(this).html().split("undefined").join(""));
});

5 个答案:

答案 0 :(得分:1)

您正在使用Batch,这在jQuery API中不存在。请改用val()。除此之外,您应该通过value()遍历每个输入,并使用each()定位当前迭代的单个输入。

this
$('input').each(function() {
  var str = $(this).val().replace(/undefined/g, 'ada');

  $(this).val(str);

  console.log(
    $(this).val()
  );
});

答案 1 :(得分:1)

$('input').val() $('input').value()使用jQuery而不是each()

&#13;
&#13;
$('input').each(function(i, el){
  var str = $(el).val().replace(/undefined/g, '');
  console.log(str);
  $('input').val(str);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" name="address1" id="address1" value="Some address undefined" class="address1">

<input type="hidden" name="address2" id="address2" value="Another address undefined" class="address1">
&#13;
&#13;
&#13;

答案 2 :(得分:1)

使用.val(),而不是.value()。你可以给它一个函数作为参数。它将使用旧值作为参数调用此函数,并且返回值将用作新值(因此您不需要像其他答案一样使用.each())。

&#13;
&#13;
$("#click").click(function() {
  $("input").val(function(i, oldvalue) {
    return oldvalue.replace(/undefined/g, '');
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="address1" id="address1" value="Some address undefined" class="address1">

<input type="text" name="address2" id="address2" value="Another address undefined" class="address1">
<br>
<button id="click">Click to change</button>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

只需使用

$('input').val("");

而不是

var str = $('input').val().replace(/undefined/g, 'ada');
$('input').val(str);

答案 4 :(得分:0)

您需要使用each循环遍历其中每一个。

$('input').each(function(){
  $this = $(this);
  $this.val($this.val().replace(/undefined/g, ''))
  console.log('new value is : ', $this.val());
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" name="address1" id="address1" value="Some address undefined" class="address1">
<input type="hidden" name="address2" id="address2" value="Another address undefined" class="address1">