在Wordpress中停止下拉列表自动完成功能

时间:2016-05-30 05:42:37

标签: javascript jquery html wordpress

我在wordpress页面中有一个Contact 7表单,当表单再次打开时会自动获取最后填充的输入,这也适用于下拉列表。

现在在我的情况下,我有一个自动加载数据的下拉列表(这就是问题),因为当我的下拉选择值被更改时,它有一个事件处理程序来处理其他几个任务。在使用.ready()处理程序加载页面后调用事件时,它显示第一个索引。但在此之后,所选索引将保留到先前选定的值(表单中的值先前已提交)。

我不知道这是怎么回事,因为事件触发器不起作用。但是当我手动更改下拉菜单时,它正在运行。

这是我的jQuery代码:

var $j = jQuery.noConflict();
$j(function(){
    $j("select").val("Can you fix this?");
    $j( "select" )
      .change(function () {
        var str = "";
        $j( "select option:selected" ).each(function() {
          str += $j(this).text() + " ";
        });
        alert(str.substring(5)); //the str mysteriously prefixes with 'Menu ' so I did this.
      })
      .change();
});

因此,当页面加载时,我将获得下拉列表{0}的第0个索引。但在那之后,正如我所说,在最后一次表单保存期间保存的值将保留,而不会触发事件。

我的选择短代码<select>

1 个答案:

答案 0 :(得分:0)

这是因为表单设置的cookie。 Cookie名称将为inbound_<field name>。在这种情况下,它是inbound_question-201

作为临时解决方法,可以在自动完成脚本开始工作之前删除此cookie。因此,将javascript代码更改为

var $j = jQuery.noConflict();
$j(function(){
    document.cookie = "inbound_question-201=; expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/"; //this is the trick
    $j( "select" )
      .change(function () {
        var str = "";
        $j( "select option:selected" ).each(function() {
          str += $j(this).text() + " ";
        });
        alert(str.substring(5));
      })
      .change();
});