ドロップダウンからのユーザーの選択に基づいて、入力テキストを数値のみにするか、ベースなしにしたい (ユーザーが顧客コードまたは料金リクエスト ID を選択した場合、テキストボックスは数値のみであり、顧客コードが文字を書くことができる場合)。これが私が書いたコードですが、機能していません。 jsfiddle コード
<select id="test" class="target">
<option value="custName">Customer Name</option>
<option value="custCode">Customer Code</option>
<option value="rateReqId">Rate Request Id</option>
</select>
<input id="target" type="text" />
Javascript コードは次のとおりです。
// Numeric only control handler
jQuery.fn.ForceNumericOnly =
function() {
return this.each(function() {
$(this).keydown(function(e) {
var key = e.charCode || e.keyCode || 0;
// allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY
return (
key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105));
});
});
};
$('#test').change(function() {
var val = this.value;
switch (val) {
case "custName":
$("#target").unbind('ForceNumericOnly')
break;
case "custCode":
alert('inside custCode');
$("#target").ForceNumericOnly();
break;
case "rateReqId":
break;
default:
}
});