重置为自动完成的默认值,并使用javascript下拉表单字段

时间:2014-07-16 09:42:08

标签: javascript jquery forms jquery-ui autocomplete

我在页面上有2个表单。一个人有身份dropdownmenu。选择其中一个值(更改时)后,该值将发布到action.php。标识为search_form的另一个表单是自动填充表单,值也会发布到action.php

当用户选择带有dropdownmenu表单的值并发布该值时,我想清空ID为search_form的表单。当用户使用自动填充表单发布值时,我想将dropdownmenu表单的值重新设置为one(默认值)。

dropdownmenu表单用于选择省份并根据该搜索进行搜索。自动填充表单将用于选择城市并根据该搜索进行搜索。如果两者都有价值,那就不对了。至少对用户不可见。

我对javascript的了解有限。我到处搜索并尝试了很多与$('#search_form').reset()this.reset()clearForm()resetForm()的组合,但似乎没有任何效果。以下是我的完整代码。

<html>
<head>

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.min.js"></script>

<script>
      $(function () {
        $('form').on('change', function (e) {
          e.preventDefault();
         $.ajax({   
         type: 'post',                                   
         url: 'action.php',                          
         data: $('form').serialize(),                       
         dataType: 'html',                 
         success: function(response){                  
            $("#responsecontainer").html(response);   
         }
        });
        });
      });
</script>


<script type="text/javascript">
   jQuery(document).ready(function(){    
      $("#search_box").autocomplete({
      source: "/includes/search.php",
      minLength: 2,
         select: function(event, ui) {
            if(ui.item){
            $(event.target).val(ui.item.value);
            }
            $.ajax({   
            type: 'post',                                    
            url: 'action.php',                            
            data: $('form').serialize(),                      
            dataType: 'html',                 
            success: function(response){  
               $("#responsecontainer").html(response); 
            }
            });
         }
      });
   });
</script>

</head>
<body>

<form id="dropdownmenu" action="/" method="post"> 
<select class="form-control" name="provincie" id="provincie">  
    <option value="one">One</option>
    <option value="two">Two</option>
    <option value="three">Three</option>
    <option value="four">Four</option>
    <option value="five">Five</option>
</select>
</form>  

<form id="search_form" action="/" method="post">
<input id="search_box" type="text" name="search_box" /></form>
<input name="submit" type="submit" value="submit">
</form>  

<div id="responsecontainer"></div>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

要重置#search_box autocomplete字段:

$("#search_box").val('')

要重置#provincie select (dropdown)

$('#provincie').find('option:first').attr('selected', 'selected');
//or
$('#provincie').get(0).selectedIndex = 0;