Javascript 使用JQuery在TextField中显示信用卡品牌

Javascript 使用JQuery在TextField中显示信用卡品牌,javascript,jquery,css,ruby-on-rails,Javascript,Jquery,Css,Ruby On Rails,我有一个信用卡号的输入文本字段。每当插入信用卡号码时,我都想更改其图像背景。目标是展示其中的信用卡品牌 我一直在研究的代码是: function get_brand_image(){ $.ajax({ url: '/cards', type: "POST", dataType: "json", data: {code: $("#card_brand").val()}, error: function(response){ }, suc

我有一个信用卡号的输入文本字段。每当插入信用卡号码时,我都想更改其图像背景。目标是展示其中的信用卡品牌

我一直在研究的代码是:

function get_brand_image(){
  $.ajax({
    url: '/cards',
    type: "POST",
    dataType: "json",
    data: {code: $("#card_brand").val()},
    error: function(response){

    },
    success: function(response){
      $('#card_brand').css({background: "'url("+response['path']+") 0 no-repeat'", 'background-position': 'right'})
    }
  });   
}
尽管第二个散列参数('background-position':'right')为空,但上面的代码没有将背景图像添加到我的文本中

奇怪的是,如果我把未加工的comand

$('#card_brand').css({background: 'url(/assets/cards/visa.png) 0 no-repeat', 'background-position': 'right'})
一切都按计划进行

我在连接字符串时是否出错

我们将非常感谢您的帮助

$('#card_brand').css({background: 'url('+response['path']+') 0 no-repeat', 'background-position': 'right'});
试试这个。假设你没有弄错你的身份证

此外:

并确保它是正确的链接

下面是一个正在工作的JSFIDLE:

试试这个-

$('#card_brand').css({background: 'url(' + response["path"] + ') 0 no-repeat', 'background-position': 'right'});
如何学习串接字符串和变量(对于初学者)

因此,在字符串中使用变量基本上是一个简单的初学者技巧,即按原样编写整个字符串-

$('#card_brand').css({'background': 'url(img/somepath) 0 no-repeat');
现在看看它的变量部分&包含整个字符串的单引号,a)首先用在本例中使用的单引号将变量部分括起来,这样做-

$('#card_brand').css({'background': 'url('img/somepath') 0 no-repeat');
现在,您可以使用concatenate+来包装变量部分

$('#card_brand').css({'background': 'url('+img/somepath+') 0 no-repeat');
最后用变量替换字符串-

var pathVariable = 'img/somepath';
$('#card_brand').css({'background': 'url('+pathVariable+') 0 no-repeat');
背景:“url(“+响应['path']+”)0不重复”
似乎存在语法错误,您的代码在尝试连接字符串时包含了太多和不必要的引号。应该是{background:“url(“+response['path']+”)0 no repeat”

首先检查您是否获得了正确的响应,然后访问了正确的对象。另外,raw命令和成功处理程序中使用的选择器是不同的(不确定为什么有2个diff选择器)如果response是JSON数据类型,那么它不应该是response.path而不是response['path']$('card#u brand')。css与$('numero_cartao')不同。cssCan您可以输出一个
response
?@NawedKhan的示例,两者都是等效的,都应该可以工作。我已经尝试过解释如何连接(对于初学者):)
var pathVariable = 'img/somepath';
$('#card_brand').css({'background': 'url('+pathVariable+') 0 no-repeat');