我有一个表单,用户可以使用 ajax 进行“即时搜索”,搜索结果显示为“选择...选项”标签,当用户选择一个选项时,它的值将填充一个文本字段。代码的“简化”版本是这样的:
<form action="action.php" method="post" name="form1" id="form1">
Code: <input type="text" name="Code" value="" size="32" readonly="readonly" /> <br />
<select class="paselect" onchange="form1.elements['Code'].value = this.options[this.selectedIndex].value;">
<option value="2413">2413 - Name A</option>
<option value="2414">2414 - Name B</option>
<option value="2415">2415 - Name C</option>
</select>
</form>
您也可以在线查看:http: //jsfiddle.net/BCXfQ/
现在,我需要为每个选项选择获取两个值,如下所示:
<form action="action.php" method="post" name="form1" id="form1">
Code: <input type="text" name="Code" value="" size="32" readonly="readonly" /> <br />
Name: <input type="text" name="Name" value="" size="32" readonly="readonly" /> <br />
<select class="paselect" onchange="form1.elements['Code'].value = this.options[this.selectedIndex].value;">
<option value="['Name A', '2413']">2413 - Name A</option>
<option value="['Name B', '2414']">2414 - Name B</option>
<option value="['Name C', '2415']">2415 - Name C</option>
</select>
</form>
但我不知道如何获取数组值并用代码填充两个字段,另一个用名称填充。
在线:http: //jsfiddle.net/zm3nX/
我从现在开始尝试改变
form1.elements['Code'].value = this.options[this.selectedIndex].value
到
form1.elements['Code'].value = this.options[this.selectedIndex].value[0]
并
form1.elements['Code'].value = this.options[this.selectedIndex[0]].value
但没有运气。
谢谢你的帮助。