selectのoptionを条件でdisabledにする

最近BTOショップで見積もりページを開くのが趣味になってます。

特定の条件下でselectボックスの選択肢をdisabledにしつつまたenabledに戻ることもある感じのjQueryを書きました。

HTML

<select id="select">
	<option value="">オプション1</option>
	<option value="">オプション2</option>
	<option value="">オプション3</option>
	<option value="">オプション4</option>
	<option value="">オプション5</option>
</select>

js

$('input, select').change( function() {
	optionDisabled();
}).change();

function optionDisabled(){
	if(特定の条件){
		var delOption = ['オプション3', 'オプション5'];	//disabledにしたい要素(ラベル)は
		var listOption = Array();
		$('#select option').each(function() {
			listOption.push($(this).text());	//オプションを配列に格納 valueの値でしたいときは.val()
		});
		delOption.forEach(function(value){
			if( listOption.indexOf(value) !== -1 ){
				$('#select option:eq('+listOption.indexOf(value)+')').prop('disabled', true);
				if($('#select option:selected').prop('disabled')){
					$('#select option:enabled').prop('selected', true);	//disableの値が選択されないようにリセット
				}
			}
		});
	} else {
		$('#select option').prop('disabled', false);
	}
}

全部のoptionをdisableにすることは考えてませんので<select>そのものをdisableにしてください。