SlideToggle - 删除表单数据

时间:2013-08-12 11:44:30

标签: jquery

我有一个扩展的表单,在单击其他/高级选项变为可用之后进行扩展,现在扩展时我也可以选择返回普通/基本表单。在这种情况下,我想删除在表单的高级部分中输入的所有内容。

我到目前为止:

$(function() {
   $('#more').hide();
   $("#advanced_search").click(function(){
        $(this).text($(this).text() == 'Show advanced search options' ? 'Hide advanced search options (selected options will be deleted)' : 'Show advanced search options');
         $('#more input').val('');
          $('#swimming-pool').prop('checked', false);
           var select = ("#location"); 
           select.find("option[value='']").attr('selected','selected');
           select.data("selectBox-selectBoxIt").refresh();
    $('#more').slideToggle();
    return false;
});
});

我面临的问题是我正在使用一个额外的插件 - selectBoxIt,这使得选择看起来更好。问题是,如果我想重置选择框,只需执行

$('#location').val('');

然后设置值,但实际上不会更改选择框中的可见选定选项。显然你要做的就是:

select.data("selectBox-selectBoxIt").refresh();

但是一旦我使用了slideToggle();变得疯狂并停止工作(它会瞬间滑动并重新上升)。

表单的高级部分包含3个选项:#location #ownership #furniture和一些文本输入以及一个复选框,它们删除得很好,我只是在选择时遇到问题。

演示slideToggle问题:jsfiddle.net/L3Aux/6

0 个答案:

没有答案