4

私が試みたのは、オプショングループを作成した古いコードを編集することだけでしたが、今はそれを削除したいと思います。選択したプラグインを使用しているため、cssだけでそれを行うことはできません。

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;

}

4

3 に答える 3

8

これは、特定の要素のすべてのoptgroup子を削除するために機能します。select

マークアップ:

<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/

于 2013-02-19T22:16:36.040 に答える
4

これは、ラベルからそれを見つけて削除する方法です、

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

psこれは私が望んでいたことであり、他の人のために公開することは利益になります

于 2013-09-02T09:42:23.080 に答える
1

$("#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>

于 2015-05-09T04:33:31.673 に答える