嗨,我不是javascript专家,但我想实现类似
有一个名为textfield1的文本字段,用户将在其中输入10位数字 那么用户输入的内容将与textfield2(如果它在textfield2内部)进行比较,我可以做到,但是我有textbox3对应于textfield2的每个值,因此textfield2和3由查询自动填充,因此我不是输入它的人>
我在texfield1中键入的示例
值:
1234567890
textfield2的值为
4567891000;123456789;55555555
textfield3的值为
f1;x1;c1
按顺序是textfield2,因此等效值按顺序
其中
4567891000 = f1
123456789 = x1
55555555 =c1
我的代码在下面
function StringSearch() {
var SearchTerm = document.getElementById('textfield1').value;
var TextSearch = document.getElementById('textfield2').value;
if ((SearchTerm.match(/^\d{10}$/)) && TextSearch.indexOf(SearchTerm) > -1) {
alert("textfield1 " + SearchTerm +" Exists in textfield2");
} else {
alert("textfield1 " + SearchTerm +" Not Exists in textfield2");
}
}
</script>
当前输出只是检查它是否存在,它将发出警报消息
1234567890
textfield1 1234567890 Exists in textfield2
但我希望结果像
textfield1 1234567890 Exists in textfield2 equivalent value is x1 from textfield3
我将非常感谢您的任何建议或帮助。谢谢
答案 0 :(得分:0)
您可以使用split
将文本字段值转换为数组,然后根据索引查找等效值
function StringSearch() {
var SearchTerm = document.getElementById('textfield1').value;
var TextSearch = document.getElementById('textfield2').value;
var TextSearch3 = document.getElementById('textfield3').value;
if (TextSearch.indexOf(SearchTerm) > -1) {
var text2Values = TextSearch.split(';');
var text3Values = TextSearch3.split(';');
alert("textfield1 " + SearchTerm + " Exists in textfield2 and equivalent value is " + text3Values[text2Values.indexOf(SearchTerm)] +" from text3");
} else {
alert("textfield1 " + SearchTerm + " Not Exists in textfield2");
}
}
<input type="text" id="textfield1" value="123456789" />
<input type="text" id="textfield2" value="4567891000;123456789;55555555" />
<input type="text" id="textfield3" value="f1;x1;c1" />
<button onclick="StringSearch()">Search</button>