【问题标题】:Duplicate value of input for multiple inputs多个输入的重复输入值
【发布时间】:2021-09-12 21:26:46
【问题描述】:

我需要一般价格的看跌值 对于所有输入,但只取第一个输入的值。

代码:

    <script type="text/javascript">
        $('#GPrecio').change(function () {
   $('#Precio').val($(this).val());
   });
   </script>

HTML:

<input type='text' size='3' name='GPrecio' id='GPrecio'>
$table.="<td>Precio : <br><input type='text' size='3' name='Precio[]' id='Precio'></td>";

感谢您的回答和时间。

【问题讨论】:

  • 您希望下面的所有输入都与上面的输入具有相同的值吗?
  • 是的,top的值是GPrecio,但是这个jQuery函数只取Precio的第一个值,像图片一样,需要全部放。
  • 首先我建议你为你的表格行添加代码。如果他们都使用相同的 id,则切换到 class

标签: javascript php html jquery forms


【解决方案1】:

这将采用#GPrecio 的值并将其应用于所有input name=Precio[] 元素

$('#GPrecio').blur(function () {
  $('[name="Precio[]"]').val($(this).val());
});

另外,如果您有多个带有id="Precio" 的元素,那就是个问题。除非您需要,否则最好不要使用 ID。您是否有理由为每个人使用相同的 ID?您最好使用数据属性,例如&lt;input type='text' size='3' name='Precio[]' data-inputtype='Precio'&gt;,在这种情况下,您的函数可以改进为:

$('#GPrecio').blur(function () {
  $('[data-inputtype="Precio"]').val($(this).val());
});

【讨论】:

  • 谢谢。但在控制台中有此错误并且不起作用:未捕获的错误:语法错误,无法识别的表达式:[name=Precio[]]
【解决方案2】:

如果您要使用相同的值,建议您使用classes 而不是ids

您的输入行可能是这样的:

<input type='text' size='3' name='Precio[]' class='Precio'>

假设Precio 是表格行中所有输入的类名。

   $('#GPrecio').change(function () {
  let newValue = $(this).val();
$(".Precio").each(function() {
    $(this).val(newValue);
})   
});

【讨论】:

  • 谢谢您的帮助。但我在控制台中遇到此代码错误:Uncaught TypeError: $(...).forEach is not a function
【解决方案3】:

由于不能使用多个相同的id,所以先改成class:

 <input type='text' size='3' name='Precio[]' class='Precio'> 

然后是 jQuery 触发器:

<script type="text/javascript">
$('#GPrecio').change(function () {
    var gpval = $(this).val();
    $('.Precio').each(function( index ) {
        $(this).val(gpval);
    });
});
</script>

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2017-01-10
    • 2013-02-27
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多