如何在选择器中添加或删除选项,我有一个这样的选择器:
<select>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
我想添加一个添加按钮和删除按钮。
添加按钮可以添加新选项,如果我选择了我可以推送删除以自动删除选项,则删除
$('select[name=things]').change(function() {
if ($(this).val() == '') {
var newThing = prompt('Enter a name for the new thing:');
var newValue = $('option', this).length;
$('<option>')
.text(newThing)
.attr('value', newValue)
.insertBefore($('option[value=]', this));
$(this).val(newValue);
}
});
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<select name="things">
<option value="1">Thing One</option>
<option value="2">Thing Two</option>
<option value="3">Thing Three</option>
<option value="">New Thing…</option>
</select>
这可能对我有用,但我希望在+按钮和添加删除按钮上添加新东西。
你们有什么想法?
答案 0 :(得分:1)
第一个问题是您需要将""
添加到[value=]
,以便它[value=""]
我还添加了一个删除按钮。 (不确定这是否是你想要的,但它可能对你有帮助)
<强>演示强>
$('select[name=things]').change(function() {
if ($(this).val() == '') {
var newThing = prompt('Enter a name for the new thing:');
var newValue = $('option', this).length;
$('<option>')
.text(newThing)
.attr('value', newValue)
.insertBefore($('option[value=""]', this));
$(this).val(newValue);
}
});
$(".rOption").click(function() {
var v = $("select[name=things]").val();
if (v != null) {
$("select[name=things] option:selected").remove();
}
})
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<select name="things">
<option value="1">Thing One</option>
<option value="2">Thing Two</option>
<option value="3">Thing Three</option>
<option value="">New Thing…</option>
</select>
<button class="rOption">Remove option</button>
<强> DEMO2 强>
$('.addOption').click(function() {
var obj = $('select[name="things"]')
var newThing = prompt('Enter a name for the new thing:');
var newValue = $('option', obj).length;
$('<option>')
.text(newThing)
.attr('value', newValue)
.insertAfter($('option:last', obj));
obj.find('option').last().prop('selected',true);
});
$(".rOption").click(function() {
var v = $("select[name=things]").val();
if (v != null) {
$("select[name=things] option:selected").remove();
}
})
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<select name="things">
<option value="1">Thing One</option>
<option value="2">Thing Two</option>
<option value="3">Thing Three</option>
</select>
<button class="addOption">+</button>
<button class="rOption">-</button>
答案 1 :(得分:-2)
试试这个。首先在您的下拉列表中放置ID。然后使用我展示的过程追加它
for($x = 2; $x < 4; $x++){
$('#mySelect').append($('<option>', {
value: $x,
text: $x
}));
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mySelect">
<option value ="1"> 1</option>
</select>
&#13;