Is there a way to remove optgroup without destroyi

2019-07-06 17:01发布

All I was attempting was to edit some old code, where I had made an option group, but now I'd like to take it away. I can't just do it with css because it's using the chosen plugin.

function flavorChooser (title, item) {
var title = 'hidden';
var optgroup = jQuery('<optgroup display="' + title + '"/>');


jQuery.each(item, function(sub_title, sub_item) {
    if (typeof sub_item[0] !== "undefined") {
        var opt = jQuery('<option value="' + sub_item[0] + '" data-store-locator-value="' + sub_item[0] + '">' + sub_title + '</option>');
        optgroup.prepend(opt);
    }
});
// console.log('chozen ');
// jQuery('.chzn-container .chzn-results .group-result').css('display', 'none');
return optgroup;

}

3条回答
何必那么认真
2楼-- · 2019-07-06 17:22

This works to remove all of the optgroup children of a given select element:

Markup:

<select id="mySelect">
    <optgroup label="MyGroup"></optgroup>
    <option>Option</option>
    <option>Option</option>
    <option>Option</option>
    <option>Option</option>
    <optgroup label="MyGroup2"></optgroup>
    <option>Option</option>
    <option>Option</option>
    <option>Option</option>
</select>

jQuery:

 $(function () {
        $("#mySelect").children().remove("optgroup");
    });

jsFiddle: http://jsfiddle.net/frJEq/

查看更多
Bombasti
3楼-- · 2019-07-06 17:22

This is how to find it from label and remove,

$("#mySelect").children().remove("optgroup[label='MyGroup']");

p.s this is what I wanted and publishing for others benefit

查看更多
The star\"
4楼-- · 2019-07-06 17:45

$("#mySelect").children().remove('optgroup[label=MyGroup2]');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<select id="mySelect">
	<optgroup label="MyGroup">
		<option>Option1</option>
		<option>Option2</option>
		<option>Option3</option>
		<option>Option4</option>
	</optgroup>
		<optgroup label="MyGroup2">
		<option>Option5</option>
		<option>Option6</option>
		<option>Option7</option>
	</optgroup>
</select>

查看更多
登录 后发表回答