我正在处理简单的信用卡脚本,当在输入字段上放置指定的1位数时,它使用.change()通过稍微改变CSS来显示来自png图片的正确的卡公司(Visa,Mastercard,Amex),以及.val ()[0]它只从第一个值或数字读取。
Js :
$( "#ccnr" ).change(function() {
var firstNumber = $('#ccnr').val()[0]; //Problem here
if (firstNumber == 3) {
$("#ccnr").css("background-position", "225px 12%");
} else if (firstNumber == 4) {
$("#ccnr").css("background-position", "225px -0.5%");
} else if (firstNumber == 6) {
$("#ccnr").css("background-position", "225px 18%");
} else if (firstNumber == 5) {
$("#ccnr").css("background-position", "225px 5.7%");
} else {
$("#ccnr").css("background-position", "225px 87%");
}
});
html
<tr>
<td style="padding-bottom:7px"><b><label style="font-size:13px"> Number:</label></b></td>
<td style="padding-bottom:7px">
<input name="ccnr" autocomplete="off" id="ccnr" style="background-image: url(https://image.prntscr.com/image/FBB6i2bDQMmUAKYKY2TFrg.png);background-position:225px 87%;background-repeat: no-repeat;height:22px;width:250px;margin-top:-5px;" type="text">
</td>
</tr>
我如何使用两位数字,例如这样?
JS:
$( "#ccnr" ).change(function() {
var firstNumber = $('#ccnr').val()[0];
if (firstNumber == 37) { //Set to two digit
$("#ccnr").css("background-position", "225px 12%");
} else if (firstNumber == 45) {
$("#ccnr").css("background-position", "225px -0.5%");
} else if (firstNumber == 60) {
$("#ccnr").css("background-position", "225px 18%");
} else if (firstNumber == 55) {
$("#ccnr").css("background-position", "225px 5.7%");
} else {
$("#ccnr").css("background-position", "225px 87%");
}
});
它不起作用。
答案 0 :(得分:2)
如果您只想提取前2个字符:
var firstNumber = $('#ccnr').val().substr(0,2);
与.substr(0,2)一起工作。