【发布时间】:2014-06-03 14:52:56
【问题描述】:
这就是我想要实现的目标。我有 3 个 optgroups 选择,这 3 个选择具有相同的标签 name="DataEntered" 我需要将所选选项传递给 Jquery 变量以提交该值而不刷新表单。几乎一切正常,我只是遇到了 2 个问题。
1- 此 Jquery 函数仅在第一个选择选项组中的一个选项被选中时才取值,对其余 2 个选择不起作用,即使它们具有相同的标签名称
2- 一旦第一个选择的值被传递,我需要重置该选择,因为在第二次提交中仍然传递了第一个选择的值。
jquery函数:
DataEntered:$('select[name=DataEntered]').val()
HTML 选择:
<select class="DropDown" Name="DataEntered">
<optgroup label="Customer Adjustment">
<option value="Agent called to make a Turn on/off">Turn on/off</option>
<option value="Agent called to make a credit Change">Credit Change</option>
<option value="Agent called to make a Temp Cred Change ">Temp Cred Change</option>
<option value="Agent called to Open New Customer">Open New Customer</option>
<option value="Agent called for other reason">Other</option>
</optgroup>
<optgroup label="Product Question">
<option value="Agent called for Question1">Question1</option>
<option value="Agent called for Question2">Question2</option>
<option value="Agent called for Question3">Question3</option>
<option value="Agent called for Question4">Question4</option>
<option value="Agent called for Other Question">Other</option>
</optgroup>
</select>
<select class="DropDown" Name="DataEntered">
<optgroup label="Account Adjustment">
<option value="Acc Adj-Change PW">Change PW</option>
<option value="Acc Adj-More Credit">More Credit</option>
<option value="Acc Adj-Turn off account">Turn off account</option>
</optgroup>
<optgroup label="Product Question">
<option value="Agent called for Question1">Question1</option>
<option value="Agent called for Question2">Question2</option>
<option value="Agent called for Question3">Question3</option>
<option value="Agent called for Question4">Question4</option>
<option value="Agent called for Other Question">Other</option>
</optgroup>
</select>
<select class="DropDown" Name="DataEntered">
<option value="Runner-Check item it">Check item it</option>
<option value="Runner-Check item it">Receive Work</option>
<option value="Runner-Check item it">Confirm/Ask for information</option>
<option value="Runner-Check item it">Problem</option>
<option value="Runner-Check item it">Other</option>
</select>
【问题讨论】:
-
DataEntered 现在是一个包含 3 个值的数组,因为有 3 个元素具有相同的名称。您将从 DataEntered[0] 和 DataEntered[1] 等中访问每一个。但我认为这不是一件好事。
-
在选择元素上使用
.val()是一个常见的错误。您必须手动确定选择了哪个元素,因为浏览器将选定的元素存储到一个数组中。