基本上我正在開發一個簡單的功能。但是當我試圖將addClass
添加到任何HTML元素時,它就停留在某個部分上。使用Jquery向TextBox添加類時出現問題
我有兩個HTML元素
- 下拉的DocType的
- 文本框的DocNumber。
基於DocType中的選定值我需要更改DocNumber的類,它將處理DocNumber textBox的驗證部分。
這裏是我的腳本的代碼。
$(document).ready(function() {
$(".number").keydown(function (e) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13]) !== -1 ||
(e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
(e.keyCode >= 35 && e.keyCode <= 40)) {
return;
}
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
});
$('#ddlDoctype').on('change', function() {
var validateCriteria = $(this).find("option:selected").val();
if (validateCriteria == "A") {
$("#txtDocNumber").addClass("minSize[8]");
$("#txtDocNumber").addClass("number");
$("#txtDocNumber").removeClass("minSize[12]");
} else if (validateCriteria == "E") {
$("#txtDocNumber").addClass("minSize[12]");
$("#txtDocNumber").removeClass("minSize[8]");
$("#txtDocNumber").addClass("number");
} else if (validateCriteria == "C") {
$("#txtDocNumber").removeClass("number");
} else {
$("#txtDocNumber").removeClass("number");
}
});
這裏的好一點需要注意的是,當我添加minSize[8]
到文本框它被分配但數量級是沒有得到分配到文本框。當我在手錶中添加該部分時,我得到number
類正在分配的結果,但它不起作用並允許用戶輸入字母。
即使嘗試了很多方法來解決這個問題,我也無法擺脫它。如果有任何幫助,我會很感激你。
能否分享HTML代碼或工作摘要 –
這不是一個答案,而是你**應該做的事情。您應該將查詢選擇器存儲到變量中,並使用它而不是多次調用查詢選擇器。 'var txtDoc = $(「#txtDocNumber」)',然後是'txtDoc.addClass('foo')'。 – borislemke
@SuperUser [這裏是JsFiddle](https://jsfiddle.net/ce6ezmxd/) – Chirag