インターネットを介してstackoverflowに多くの人がいて、同僚はチェックボックスに1または0以外の値を使用しています(例<input type='checkbox' value='check'/>
)が、基本的にチェックボックスは常にはい/いいえの答えになると思います。
現在、次のようなアプリケーション全体で標準化するために作成したjQueryスクリプトを使用しています。
;(function($){
$(document).ready(function() {
var selector = 'input[type="checkbox"]';
var c = 'checked';
$.each($(selector),function(){
var $el,value,attr;
$el = $(this);
value = $el.val();
attr = $el.attr(c);
if(value == 1 || typeof(attr) !== 'undefined')
{
$el.attr(c,c);
$el.prop(c,true);
$el.val(1);
}
else{
$el.removeAttr(c);
$el.prop(c,false);
$el.val(0);
}
});
$(selector).change(function(e){
var $el, checked = null;
$el = $(this);
checked = $el.prop(c);
if (checked) {
$el.attr(c,c);
$el.val(1);
} else {
$el.removeAttr(c);
$el.val(0);
}
});
});
})(jQuery);
これらの状況のいずれかを処理できるように:
<input type='checkbox' value='1'/>
<input type='checkbox' checked/>
<input type='checkbox' checked='checked'/>
<input type='checkbox' value='1' disabled/>
<input type='checkbox' checked disabled/>
<input type='checkbox' checked='checked' disabled/>
<input type='checkbox' value='0'/>
<input type='checkbox'/>
<input type='checkbox' value='0' disabled/>
<input type='checkbox' disabled/>
ただし、0または1でない、または属性が「チェックされている」チェックボックスの値は考慮されません。
私の質問は次のとおりです。0/null以外または1の値を使用するための良いユースケースはありますか(特にリレーショナルデータベースを使用する場合)?