我有四个单选按钮,我想当用户单击第一个单选按钮时,输入文本框只能接受数字,但是如果他们选择其他单选按钮,则只能接受数字和文本。下面是我的代码:
[Company', 'Date', 'Headline', 'Page', 'Subtext', 'Time','Year', 'Sentiment analysis']
我尝试使用下面的代码,但是当我选择其他单选按钮时,我无法键入文本,只需输入数字即可。我是否还需要放?我需要自动更改而不刷新页面。
<input class="form-control" type="text" id="usr_matriculation" maxlength="40" name="usr_matriculation" required="required">
<div class="radio">
<label class="radio-inline"><input type="radio" onclick="il.Form.showSubForm('subform_usr_id_type_1', 'usr_id_type', null);" name="usr_id_type" id="usr_id_type_1" value="1">
New Identity Card No.</label>
</div>
<div class="radio">
<label class="radio-inline"><input type="radio" onclick="il.Form.showSubForm('subform_usr_id_type_2', 'usr_id_type', null);" name="usr_id_type" id="usr_id_type_2" value="2">
Passport No.</label>
</div>
<div class="radio">
<label class="radio-inline"><input type="radio" onclick="il.Form.showSubForm('subform_usr_id_type_3', 'usr_id_type', null);" name="usr_id_type" id="usr_id_type_3" value="3">
Army No.</label>
</div>
<div class="radio">
<label class="radio-inline"><input type="radio" onclick="il.Form.showSubForm('subform_usr_id_type_4', 'usr_id_type', null);" name="usr_id_type" id="usr_id_type_4" value="4">
Police No.</label>
</div>
答案 0 :(得分:1)
这可能不是最好的解决方案,但我已经进行了一些测试。
<input type="text" id="i">
<input checked type="radio" id="r_n" name="rn">
<input type="radio" id="r" name="rn">
<input type="radio" id="r" name="rn">
<input type="radio" id="r" name="rn">
这段代码可以帮助您找到正确的方法或改进自己的代码。
$("#i").keyup(function () {
if ($('#r_n').is(':checked')) {
console.log("Validating #r1...")
// Filter non-digits from input value.
this.value = this.value.replace(/\D/g, '');
}
else {
console.log("Validating the other radios")
this.value = this.value.replace(/[^A-Za-z0-9]+/g, '');
}
});
// Optional: Delete input value when radio changes
$('input:radio[name="rn"]').change(
function(){
$("#i").val('');
});
答案 1 :(得分:0)
单击第一个添加事件的按钮时,会在keyup
中查找$('input[name="usr_matriculation"]')
,因此每次无法键入文本时都只需要输入数字即可。