OK here goes: Need to filter out duplicates and the ability to remove added values to a SELECT box.
好的就是:需要过滤掉重复项并删除添加值到SELECT框的功能。
Number: <input type="text" name="number" />
<br />
<!-- Clicking the button should add an option w/ the value being the text displayed -->
<button type="button">Add</button>
<br />
<Select id="mySelect" size="9"></Select>
<br />
<!-- Display only if SELECT box has a value -->
<button type="button" hidden="hidden">Remove</button>
I have looked at this thread but still missing something.
我看过这个帖子但仍然遗漏了一些东西。
1 个解决方案
#1
I'm not quite sure what you're asking, so clarification would be helpful. Here's my crack at what your looking for:
我不太确定你在问什么,所以澄清会有所帮助。这是我在寻找你的想法:
Javascript
<script type="text/javascript" charset="utf-8">
$( function() {
// Add number from <input> as an <option> to the <select>
$('#add_number').click( function() {
// Get Number from <input>
var numberToAdd = $('#number_to_add').val();
// Make sure it's not a duplicate; if so, don't add
var match = false;
$('#mySelect option').each( function() {
if (numberToAdd == this.value) match = true;
});
if (match) return false;
// Add the number to the <select>
$('#mySelect').append(
$('<option></option>').html(numberToAdd).val(numberToAdd)
);
// Show the remove button
$('#remove_selected').show();
return false;
});
// Remove the currently selected <option> in the <select>
$('#remove_selected').click( function() {
$('#mySelect option:selected').remove();
return false;
});
})
</script>
HTML
<form action="#">
<p>
Number: <input type="text" name="number_to_add" id="number_to_add" />
<button id="add_number" type="button">Add</button>
</p>
<p>
<select id="mySelect" size="9"></select>
<button id="remove_selected" type="button" style="display:none;">Remove</button>
</p>
</form>
#1
I'm not quite sure what you're asking, so clarification would be helpful. Here's my crack at what your looking for:
我不太确定你在问什么,所以澄清会有所帮助。这是我在寻找你的想法:
Javascript
<script type="text/javascript" charset="utf-8">
$( function() {
// Add number from <input> as an <option> to the <select>
$('#add_number').click( function() {
// Get Number from <input>
var numberToAdd = $('#number_to_add').val();
// Make sure it's not a duplicate; if so, don't add
var match = false;
$('#mySelect option').each( function() {
if (numberToAdd == this.value) match = true;
});
if (match) return false;
// Add the number to the <select>
$('#mySelect').append(
$('<option></option>').html(numberToAdd).val(numberToAdd)
);
// Show the remove button
$('#remove_selected').show();
return false;
});
// Remove the currently selected <option> in the <select>
$('#remove_selected').click( function() {
$('#mySelect option:selected').remove();
return false;
});
})
</script>
HTML
<form action="#">
<p>
Number: <input type="text" name="number_to_add" id="number_to_add" />
<button id="add_number" type="button">Add</button>
</p>
<p>
<select id="mySelect" size="9"></select>
<button id="remove_selected" type="button" style="display:none;">Remove</button>
</p>
</form>