Javascript 输入时更改图像

Javascript 输入时更改图像,javascript,jquery,html,Javascript,Jquery,Html,我有一个小的基本html代码与JavaScript。我想要的是当我键入3时,它应该显示指定的图像和相应的9。这是演示。拜访 它在那里工作。我不知道为什么JavaScript不能以这种方式工作。有人能弄明白吗 <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

我有一个小的基本html代码与JavaScript。我想要的是当我键入3时,它应该显示指定的图像和相应的9。这是演示。拜访

它在那里工作。我不知道为什么JavaScript不能以这种方式工作。有人能弄明白吗

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

<script type="text/javascript">

var num2img = {
  "3":"visa",
  "9":"mastercard"
};

$('#num').on('input', function(){
  var val = this.value;
  if(val.length<=1){
     var n = this.value.charAt(0);
     if(val && num2img[n]!==undefined){
       $('#cardImage')[0].src = 'http://placehold.it/100x100/eee&text='+ num2img[n] +'.png';
     }else{
       $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
     }
  }
});

</script>
<meta charset=utf-8 />
<title>Demo by Roko C.B.</title>
</head>
<body>

  <input id="num"><br>
  <img id="cardImage" src="http://placehold.it/100x100/cf5">

</body>
</html>

变量num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num')。在('input',function()上{
var val=该值;

如果(val.length将脚本代码放入

$(document).ready(function(){
    //your code goes here
});
替换

$('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';


将脚本代码放入其中

$(document).ready(function(){
    //your code goes here
});
替换

$('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';


将脚本代码放入其中

$(document).ready(function(){
    //your code goes here
});
替换

$('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';


将脚本代码放入其中

$(document).ready(function(){
    //your code goes here
});
替换

$('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';

试试这个

$(document).ready(function(){

var num2img = {
  "3":"visa",
  "9":"mastercard"
};

    $('#num').keyup(function(){
      var val = this.value;
      if(val.length<=1){
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'http://placehold.it/100x100/eee&text='+ num2img[n] +'.png';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
});
$(文档).ready(函数(){
变量num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num').keyup(函数(){
var val=该值;
如果(val.length试试这个

$(document).ready(function(){

var num2img = {
  "3":"visa",
  "9":"mastercard"
};

    $('#num').keyup(function(){
      var val = this.value;
      if(val.length<=1){
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'http://placehold.it/100x100/eee&text='+ num2img[n] +'.png';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
});
$(文档).ready(函数(){
变量num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num').keyup(函数(){
var val=该值;
如果(val.length试试这个

$(document).ready(function(){

var num2img = {
  "3":"visa",
  "9":"mastercard"
};

    $('#num').keyup(function(){
      var val = this.value;
      if(val.length<=1){
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'http://placehold.it/100x100/eee&text='+ num2img[n] +'.png';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
});
$(文档).ready(函数(){
变量num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num').keyup(函数(){
var val=该值;
如果(val.length试试这个

$(document).ready(function(){

var num2img = {
  "3":"visa",
  "9":"mastercard"
};

    $('#num').keyup(function(){
      var val = this.value;
      if(val.length<=1){
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'http://placehold.it/100x100/eee&text='+ num2img[n] +'.png';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
});
$(文档).ready(函数(){
变量num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num').keyup(函数(){
var val=该值;
如果(val.length尝试捕获输入框上的“按键”事件,或
尝试在输入框上捕获“更改”事件,

尝试在输入框上捕获“按键”事件,或 尝试在输入框上捕获“更改”事件,

尝试在输入框上捕获“按键”事件,或 尝试在输入框上捕获“更改”事件,

尝试在输入框上捕获“按键”事件,或
尝试在输入框中捕获“更改”事件,

尝试类似的操作

$(function(){

    // you have not given any event
    $('#num').on('keyup', function(){
      var val = this.value;
      if(val.length){//your length checking logically wrong
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
})

试试这样的

$(function(){

    // you have not given any event
    $('#num').on('keyup', function(){
      var val = this.value;
      if(val.length){//your length checking logically wrong
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
})

试试这样的

$(function(){

    // you have not given any event
    $('#num').on('keyup', function(){
      var val = this.value;
      if(val.length){//your length checking logically wrong
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
})

试试这样的

$(function(){

    // you have not given any event
    $('#num').on('keyup', function(){
      var val = this.value;
      if(val.length){//your length checking logically wrong
         var n = this.value.charAt(0);
         if(val && num2img[n]!==undefined){
           $('#cardImage')[0].src = 'data/1357696142_mastercard1'+ num2img[n] +'.gif';
         }else{
           $('#cardImage')[0].src = 'http://placehold.it/100x100/cf5';
         }
      }
    });
})
您需要将$('#cardImage')[0]更改为$('#cardImage').attr('src','+num2img[n]+'.png');因为#将返回一个元素替换,请参见jsfiddle

var num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num')。在('input',function()上{
var val=该值;
如果(val.length您需要将$('#cardImage')[0]更改为$('#cardImage').attr('src','+num2img[n]+'.png');as将返回一个元素替换,请参见jsfiddle

var num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num')。在('input',function()上{
var val=该值;
如果(val.length您需要将$('#cardImage')[0]更改为$('#cardImage').attr('src','+num2img[n]+'.png');as将返回一个元素替换,请参见jsfiddle

var num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num')。在('input',function()上{
var val=该值;
如果(val.length您需要将$('#cardImage')[0]更改为$('#cardImage').attr('src','+num2img[n]+'.png');as将返回一个元素替换,请参见jsfiddle

var num2img={
“3”:“visa”,
“9”:“万事达卡”
};
$('#num')。在('input',function()上{
var val=该值;


if(val.length感谢您的回复。我尝试了这个。问题是,代码在JSFIDLE中工作,我的意思是,当我在html页面中使用它时,它不工作。是的,将它添加到
$(document.ready)中您的代码中(function(){..your code})
Ya我也这么做了。这里是我上传的地方。检查一下,即使我键入任何东西,它也只会显示默认图像hmmm很高兴帮助你兄弟:-)你能告诉我,为什么它是这样工作的,而不是我编写的代码吗?谢谢你的回答。我尝试了这个。问题是,代码在JSFIDLE中工作,我的意思是,当我在html页面中使用它时,它不工作。是的,将它添加到
$(document).ready(function(){..your code}中的代码中)
Ya我也这么做了。这里是我上传的地方。检查一下,即使我键入任何东西,它也只会显示默认图像hmmm很高兴帮助你兄弟:-)你能告诉我,为什么它是这样工作的,而不是我编写的代码吗?谢谢你的回答。我尝试了这个。问题是,代码在JSFIDLE中工作,我的意思是,当我在html页面中使用它时,它不工作。是的,将它添加到
$(document).ready(function(){..your code}中的代码中)
Ya我也这么做了。这里是我上传的地方。检查一下,即使我键入任何东西,它也只会显示默认图像hmmm很高兴帮助你兄弟:-)你能告诉我,为什么它是这样工作的,而不是我编写的代码吗?谢谢你的回答。我尝试了这个。问题是,代码在JSFIDLE中工作,我的意思是,当我在html页面中使用它时,它不工作。是的,将它添加到
$(document).ready(function(){..your code}中的代码中)
Ya我也这么做了。这里是我上传的地方。检查一下,即使我键入任何东西,它也只会显示默认图像hmmm很高兴帮助你兄弟:-)你能告诉我,为什么它是这样工作的,而不是我写的代码吗?是的,我写的东西中有一个语法错误。演示是正确的。我是这样做的,但它不起作用。检查我在哪里上传的。你的图像路径最初是错误的,关于“$(document).ready(function(){//your code goes here};”block—当客户端不存在任何内容时,代码一看到脚本就立即执行。当在ready block中执行相同的代码时,执行会延迟到形成完整的DOM,从而找到元素。on()方法将事件处理程序附加到jQuery对象中当前选定的元素集。请阅读更多信息。我编写的内容中有语法错误。演示是正确的。我这样做了,但它不起作用。请检查我上载此内容的位置您的图像路径最初是错误的,关于“$(document).ready(function(){//your code goes here};”block—当客户端不存在任何内容时,您的代码一看到脚本就立即执行。当在ready block中执行相同的代码时,执行会延迟到形成完整的DOM,从而找到元素。on()方法会附加事件h