使用JQuery selectBox时地址自动填充?

时间:2011-09-13 18:06:54

标签: jquery drop-down-menu autofill

我们的网络应用程序中有一个标准的结算表单。我正在使用JQuery selectBox plugin  根据客户端的请求调整输入,遗憾的是,这会导致浏览器在auto_fills_用户的地址时忽略state下拉列表。

在大多数情况下,插件会隐藏<select>输入,然后在漂亮的下拉版本中来回传递值的变化。原始隐藏输入或下拉列表都不会获取状态auto_fill_。一旦我关闭selectBox,它就会再次运作。

如何在浏览器中提示更新新的下拉元素?

JS初始化插件

$(function() {
  $(".WhiteDD").selectBox();
}

HTML帖子插件初始化:

<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插件可以很好地发挥它的价值。我们换掉了两个字符掩码文本输入的状态下拉列表。感谢您的回复,抱歉,我无法透露全部奖金。

2 个答案:

答案 0 :(得分:1)

您没有提供有关表单整个“自动填充”功能的详细信息,但我会假设您在代码中的某个位置知道您希望选择框默认的状态到 - 此时,再次对您的州选择初始化selectBox

$("#state").selectBox("value", [state index]);

其中[state index]是您要选择的状态的索引。

我从selectBox demo's page获得了这个想法,查看了源代码并检查了value-2按钮的功能。

答案 1 :(得分:1)

您将使用selectBox API并在应该自动填充表单其余部分的相同函数中调用它。这将使用下拉列表中的第一个值更新状态下拉列表。

$(".WhiteDD").selectBox('value', 1);

看看这里:https://github.com/claviska/jQuery-SelectBox/blob/master/index.php从第38行开始。