我们的 Web 应用程序中有一个标准的账单表格。我正在使用 JQuery selectBox 插件
来根据客户的请求来完善输入,不幸的是,这会导致浏览器state
在 auto_fills_ 用户地址时忽略下拉列表。
在大多数情况下,插件会隐藏<select>
输入,然后在漂亮的下拉版本中来回传递值的变化。原始隐藏输入或下拉菜单都不会获取状态 auto_fill_。一旦我关闭selectBox
它,它就会再次工作。
如何提示浏览器更新新的下拉元素?
JS初始化插件
$(function() {
$(".WhiteDD").selectBox();
}
HTML post 插件初始化:
<div class="FormBlock">
<label class="FormLabel" for="city">City</label>
<input class="BillingInput required" id="city" name="transaction[billing][locality]" type="text" value="">
</div>
<div class="FormBlock">
<label class="FormLabel" for="state">State</label>
<select name="transaction[billing][region]" class="WhiteDD selectBox" id="state" style="display:none">
<option value="AL" selected="selected">AL</option>
...
<option value="WY">WY</option>
</select>
<!-- This code is injected by the selectbox plugin-->
<a class="selectBox WhiteDD selectBox-dropdown" title="" tabindex="0"><span class="selectBox-label">AL</span><span class="selectBox-arrow"></span></a>
<!-- End injection -->
</div>
编辑
澄清 - 我指的是默认浏览器地址 auto_fill_ 功能。这不是 Javascript 中发生的事情,或者我可以使用 selectBox 插件提供的方法来捕获和更新它。
有没有办法让默认浏览器 auto_fill_ 动作触发 Javascript?
放弃
使自动填充与默认的 HTML 下拉菜单很好地配合是一个挑战,使它与 Jquery 插件很好地配合起来比它的价值更麻烦。我们将状态下拉列表换成了两个字符的屏蔽文本输入。感谢您的回复,对不起,我无法提供全部赏金。