我有一个文本框,我尝试在点击按钮后重置它。但它没有被重置。 HTML脚本: -
<input type="text" name="" class="input-default" id="inp">
<button type="submit" class="btn btn-success btn-sm m-b-10 m-l-5" onclick="add()">Add</button>
<select id='pre-selected-options' multiple='multiple'>
<option value='elem_1' selected>1</option>
<option value='elem_2'>a</option>
<option value='elem_3'>x</option>
<option value='elem_4' selected>Ce</option>
<option value='elem_100'>Td</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script src="js/jquery.multi-select.js"></script>
JavaScript代码: -
var x;
var option;
var y;
function add() {
var x = document.getElementById('pre-selected-options');
console.log(x);
var option = document.createElement("option");
option.text = document.getElementById("inp").value;
var y = option.text
x.add(option);
$('#pre-selected-options').multiSelect('addOption', {
value: y,
text: y,
index: 0,
nested: 'optgroup_label'
});
document.getElementById('pre-selected-options').reset();
}
$('#pre-selected-options').multiSelect();
我尝试添加此内容并且不重置表单:
document.getElementById('pre-selected-options').reset();
答案 0 :(得分:4)
要重置表单,请使用
form.reset();
var form = document.querySelector('form');
var button = document.querySelector('button');
button.addEventListener('click', function() {
form.reset();
})
<form>
<input value="volvo">
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<button type="button">Reset form</button>
</form>
重置例如input
,请使用
input.value = '';
var input = document.querySelector('input');
var button = document.querySelector('button');
button.addEventListener('click', function() {
input.value = '';
})
<input value="volvo">
<button>Reset to none</button>
重置例如select
,请使用
select.selectedIndex = 0; // select first option
select.selectedIndex = -1; // select none
var select = document.querySelector('select');
var button = document.querySelector('button');
button.addEventListener('click', function() {
select.selectedIndex = -1; // select none
})
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<button>Reset Select to none</button>
答案 1 :(得分:4)
您遇到的问题是,在调用inp
时,您尝试清除标识为pre-selected-options
的输入框,而document.getElementById('inp').value = ""
未连接到您的文本框。
使用.outer {
background: yellow;
}
.inner {
background: lime;
margin: 2em 0;
}
应该清除文本框的值。
答案 2 :(得分:0)
要清除输入框使用的值:
document.getElementById('pre-selected-options').value = "";
答案 3 :(得分:0)
使用jQuery重置表单。
$("form")[0].reset();