我在页面上有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>
答案 0 :(得分:1)
要重置#search_box
autocomplete
字段:
$("#search_box").val('')
要重置#provincie
select (dropdown)
:
$('#provincie').find('option:first').attr('selected', 'selected');
//or
$('#provincie').get(0).selectedIndex = 0;