重置选择框值

时间:2015-06-26 14:06:42

标签: jquery html

我试图用jquery创建一个重置按钮。单击按钮时,我正在调用名为cleanFilters的函数。但控制台告诉我cleanFilters没有定义。我在Javascript中非常新,所以我想我错过了一些愚蠢的东西。我不知道这是否重要,但我必须说我选择使用的是来自基金会5.

这是我的代码

<script>
  $(function cleanFilters() {
    $('#select-filter-2').val('cualquier_provincia');
    $('#select-filter-2').trigger('change', true);
  });
</script>

<select name="" id="select-filter-2">
   <option value="cualquier_provincia">Cualquier provincia</option>
   <option value="A Coruña">A Coruña</option>
</select>

<button id="reset" onclick="cleanFilters()">Limpiar filtros de búsqueda</button> 

2 个答案:

答案 0 :(得分:1)

你应该将函数定义包装在一个匿名者中,而不是直接在括号内: $(function(){/ * 这里包含的代码包括函数定义* /})< / em>的

此外,当你定义cleanFilters函数时,它会被绑定到定义它的 $(function(){})范围,这就是为什么它不能从onclick访问。

从我的观点来看,你有两个选择:

  • 在函数定义后添加此项并删除onclick

    $(&#39;#复位&#39)。单击(函数(){   cleanFilters(); })

  • 删除函数定义周围的 $(...),我不推荐你,因为如果事情延迟的时间超过了加载的时间,你的代码可能会失败。

以下是工作版http://jsbin.com/habiyubamo/edit

答案 1 :(得分:0)

发现语法错误,修复并显示在下面


    <script src="https://code.jquery.com/jquery-2.1.4.js"></script>



    <select name="" id="select-filter-2">
        <option value="cualquier_provincia">Cualquier provincia</option>
        <option value="A Coruña">A Coruña</option>
    </select>

    <button id="reset" onclick="cleanFilters()">Limpiar filtros de búsqueda</button>


    <script>
        function cleanFilters() {
            $('#select-filter-2').val('cualquier_provincia');
            $('#select-filter-2').trigger('change', true);
        }
    </script>