jQueryでselectのoptionの中にデータがあるかどうかを調べるだけの関数
jQueryでselect optionの中に特定のデータがあるかどうかを調べるだけの関数です。jquery.formプラグインとか入れればもしかしたら簡単に実装できるのかもしれないけどこの機能だけが欲しかったので作りました。
他に方法があるのかもしれませんがわかりませんでした。わかる方がいらっしゃいましたら教えてください。
;(function() { jQuery.fn.is_option = function(options){ params = jQuery.extend({}, jQuery.fn.is_option.defaults, options); var valid = 0; $.each($(this), function(i){ if( $(this).attr('value') == params.value ) valid = 1; }); return valid; }; jQuery.fn.is_option.defaults = {}; })(jQuery);
htmlは
<select id="target_select"> <option value="DATA1">1</option> <option value="DATA2">2</option> <option value="DATA3">3</option> </select>
使い方は
valid = $('#target_select option').is_option({value:'DATA1'}); console.log(valid); // 1 = DATA1が存在する