根据文本框中输入的文本高亮显示/选择图像
Highlighting/selecting an image based on text entered in an textbox
我正在寻找一个示例,其中一个图像,从几个,被选中/突出显示/稍微缩放取决于输入在文本框中。例如,在下面的案例中,当输入信用卡号码时,相应选择/突出显示适当的徽标。
|Visa|Mastercard||Amex|Diners| <== Images
| ________________________| & lt; = =卡号文本框
我自己不是前端开发人员,但我认为JavaScript/jQuery是实现上述内容的正确技术?页面是用ASP编写的。净MVC。
谢谢你的指点。
欢呼,
您可以做一些简单的事情,比如在图像周围添加一个小边框。您可以通过起始号码检测卡片类型…5是万事达卡……4是Visa等,并突出相应的图像。
你想给每个图像一个唯一的ID属性和一个类,这样你就可以一次给所有图像设置样式。例如:
编辑:有一些bug。必须输入id。纠正。
<img id="mc" class="cc" src="mastercard.jpg" />
<img id="visa" class="cc" src="visa.jpg" />
<input id="ccno" type="text" oninput="checkCCNo('ccno');" />
你的css可以是:
.cc {
display: inline-block;
margin: 5px;
}
你的JavaScript应该是:
function checkCCNo(id){
var cardimg;
var source = document.getElementById(id);
switch (source.value.substring(0,1)){
case "4":
cardimg = document.getElementById("visa");
break;
case "5":
cardimg = document.getElementById("mc");
break;
}
if(cardimg) {
cardimg.style.borderStyle = "solid";
cardimg.style.borderColor = "red";
cardimg.style.borderWidth = "2px";
}
}
您可以通过简单地添加更多案例来添加额外的卡片。如果你不想增加边框来突出显示,你只需要改变你在最后一个If块中所做的事情,比如换出图像等。
如果您愿意,还可以使用这个函数对卡号进行一些验证。
太棒了!
这是我最后做的。我觉得可能对别人有用。
function checkCCNo() {
var cardimg;
var cctx = document.getElementById("ccno");
switch (cctx.value.substring(0, 1)) {
case "4":
cardimg = document.getElementById("visa");
break;
case "5":
cardimg = document.getElementById("mastercard");
break;
}
if (cardimg) { // Highlight the approprite credit card image
$(cardimg).css({ "background-color": "", "opacity": "" });
$(cardimg).css("border", "solid 2px silver");
$(cardimg).animate({ width: "40px" }, "fast");
}
// Fade out the other credit card images
var cardimgArr = ["visa", "mastercard"];
for (var i = 0; i < cardimgArr.length; i++) {
var image = "#" + cardimgArr[i];
if (cardimg == undefined || cardimg.id != $(image).attr("id")) {
$(image).css("border", "none");
$(image).animate({ width: "36px", opacity: 0.5 }, "fast");
}
}
}
如果有人有关于如何改进代码的建议,我将不胜感激。
欢呼,
相关文章:
- 为什么在页面上单击的先前链接的文本显示在 AJAX 请求中
- JavaScript NaN错误,输入文本显示为NaN
- 关于socket.io实时文本显示的问题
- 如何使用javascript使文本显示在文本字段中
- 在它们之间切换时,jQuery 文本显示在活动文本下方
- 使用 ajax 乱码文本显示图像
- 带有文本显示js功能的图像映射 - 某些部分不显示
- 来自 Ajax 请求的文本显示不正确
- 如何使用 JavaScript 使文本显示
- 是否可以将元素内部的文本显示在 ::在 css 之前
- on更改文本框的文本显示在另一个文本框上
- 在文本显示在Scroll上之前在页面上隐藏文本的问题
- 使用带文本显示的Jquery切换文本
- 如何使文本显示速度变慢
- 如何将图片添加到点击计数器文本显示<图像><点击量>
- 文本显示有延迟
- 根据在另一个文本框中输入的文本显示文本框中的文本
- 如何从点击文本显示文件浏览器,并在悬停文本时将鼠标光标更改为指针
- 使文本显示为几行可点击的线条
- 如何使文本显示