我有一个带有多个输入文本的动态表单。在某些输入上,我有数据列表将它们同步在一起:当我在 1 个输入中选择一个值时,其他输入具有相关的值集。
当数据列表中的所有选项都是唯一的时,这非常有效。但是,当我有多个具有相同值(但 ID 不同)的选项时,我没有得到正确的选项……我只得到第一个选项。
这是一个解释我的问题的片段。
$("#input1").on("change blur", function() {
let id = $("#datalist1").find("option[value='"+$(this).val()+"']").attr('id')
if (id) {
$("#input2").val($("#datalist2").find("#"+id).val())
$("#idInput1").html(id)
$("#idInput2").html('')
}
})
$("#input2").on("change blur", function() {
let id = $("#datalist2").find("option[value='"+$(this).val()+"']").attr('id')
if (id) {
$("#input1").val($("#datalist1").find("#"+id).val())
$("#idInput2").html(id)
$("#idInput1").html('')
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" list="datalist1" id="input1"/>
<datalist id="datalist1">
<option id="1" value="Option1">Option1-1</option>
<option id="2" value="Option2">Option2</option>
<option id="3" value="Option1">Option1-2</option>
</datalist>
<div id="idInput1"></div>
<input type="text" list="datalist2" id="input2"/>
<datalist id="datalist2">
<option id="1" value="Test1">Test1</option>
<option id="2" value="Test2">Test2</option>
<option id="3" value="Test3">Test3</option>
</datalist>
<div id="idInput2"></div>
我不能使用选项内容来获取数据列表 ID(它永远不会在输入中)......
我不能使用“选择”而不是数据列表...用户必须能够添加信息
有没有人有解决方案或想法?
谢谢 !