ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

JavaScript:ラジオボタンの値を取得してswitch文で分岐するときに少し悩む

jQueryで選択されているラジオボタンの値を取得して、switch文で処理を分岐させようとしました。
ラジオボタンvalueには、数字を割り当てていたので以下のようにswitch文を書き、ラジオボタンをクリックしましたが、どちらのcaseにも該当せず処理がされません。

var type = $("input[name='type']:checked").val();
switch(type) {
	case 1:
		console.log(type);
		break;

	case 2:
		console.log(type);
		break;
}


なぜcaseに該当しないのかと考えていたところ、ふと思いついて、caseのラベルを以下のように変更してみたところ、caseに該当するようになりました。

var type = $("input[name='type']:checked").val();
switch(type) {
	case '1':
		console.log(type);
		break;

	case '2':
		console.log(type);
		break;
}

f:id:AJYA:20180803124449p:plain
unsplash-logoLee Campbell

ラジオボタンvaluevalue="1"、value="2"と設定しているので、最初のままでは動かなかったようです。
自動で型変換されると思っていました。