Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery中使用动态选择选项填充动态输入字段_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jquery中使用动态选择选项填充动态输入字段

Javascript 如何在jquery中使用动态选择选项填充动态输入字段,javascript,jquery,Javascript,Jquery,我试图用所选选项的值填充输入字段,这两个选项都是动态加载的。我可以加载选定的选项值,并可以在选项更改时进行更新。但如果有10个输入字段和10个选择选项标记,并且我从10个标记中选择了一个选项,那么所有10个输入字段都会显示相同的值。每个输入字段有10个选项。我需要单独更改值 这是jquery的函数 $("#myselect").change(function () { $( "select option:selected" ).each(function() { $('.

我试图用所选选项的值填充输入字段,这两个选项都是动态加载的。我可以加载选定的选项值,并可以在选项更改时进行更新。但如果有10个输入字段和10个选择选项标记,并且我从10个标记中选择了一个选项,那么所有10个输入字段都会显示相同的值。每个输入字段有10个选项。我需要单独更改值

这是jquery的函数

$("#myselect").change(function () {
    $( "select option:selected" ).each(function() {
        $('.returnValue').val($( this ).text());
    });
});
我想在输入字段中插入单个产品数量

我挣扎了两天,请帮忙

<select id="myselect">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

<input class="returnValue" type="text" value="">

1.
2.
3.
4.

您的问题是对所有输入字段使用相同的类,您需要为每个输入字段设置不同的
id


这里有一个

你可以用不同的方法解决你的问题:

如果选择和输入字段一个接一个,则可以使用:

$(this).next('.returnValue').val($( this ).val());
另一种方法是为每个选择添加一个新属性,如:

input-field="newlass1"
因此,以链接select和input字段的方式向相应的输入字段添加一个新类

在这种情况下,您可以执行以下操作:

$('input.' + $(this).attr('input-field')).val($( this ).val());
片段:

$(“[id^=myselect]”)。更改(函数(){
//$(this.next('.returnValue').val($(this.val());
$('input.+$(this.attr('input-field')).val($(this.val());
});

1.
2.
3.
4.

1. 2. 3. 4.
1. 2. 3. 4.
1. 2. 3. 4.
使用
$(this.parent().next('.returnValue').val($(this.text())
将值设置为下一个输入字段

$(“.myselect”).change(函数(){
$(“选择选项:选定”)。每个(函数(){
$(this.parent().next('.returnValue').val($(this.text());
});
});

1.
2.
3.
4.
1.
2.
3.
4.
1.
2.
3.
4.

您的选择器表示,所有带有
returnValue
类的输入都将被分配,因此,内部循环的最后一次迭代会将所有输入设置为
$的最后一个值(this)。text()
您想将从所有选择框中选择的所有产品数量相加吗?例如,从select-1中选择“3”,从select-2中选择“4”,则输入字段将具有值7,依此类推……首先,id在DOM中应该是唯一的。这就是为什么在您的代码段中,只有在第一次选择change时才会填充输入中的值。@RahulPatel是的,我知道。我只是复制粘贴了同样的东西,但忘记了,当然。我将对其进行编辑以合并类。@RahulPatel感谢您的提醒。:)我应该检查后,至少张贴一次。我错了。非常感谢你的帮助。我使用数据库中的产品id,而不是硬编码的1、2、3、4,真正的魔法是jQuery再次感谢。@mirzaadilibaig非常感谢您。我很高兴看到你高兴。