2017-06-19 58 views
0

我想选择一个特定的输入到div但它不会选择,如果我选择标签,它工作正常。带星号的代码行是代码里面的问题:无法选择分区的输入

$('#billing_first_name, #billing_last_name, #billing_city').click(function() { 

var label = $("label[for='"+this.id+"']"); 
//this line below does not work 
**var input = $("input[for='"+this.id+"']");** 

$(this).on('blur', function() { 

    if (($(this).val() === '') || (!$(this).val().match('^[a-zA-Z]{3,16}$'))) { 
     input.css("border-color", "#ff0000"); 
     label.css("color", "#ff0000"); 
    } else{ 
     input.css("border-color", "#ccc"); 
     label.css("color", "#404040"); 
    } 


}) 

$('.backToCheckout').click(function(){ 
    input.css("border-color", "#ccc"); 
    label.css("color", "#404040"); 
}) 

}); 

期待一些提示和帮助谢谢。

+0

输入的不使用'for'属性,所以除非你居然把一个你输入元素上一些奇怪的原因,比选择赢无法找到它 –

+2

永远不要绑定事件处理程序内部的事件处理程序 – Satpal

+0

请解释你想实现什么 – clarkoy

回答

1

,如果你需要通过ID来选择,那就试试这个

var input = $("input#" + this.id); 
+0

为什么不只是'var input = $(this)'? – Satpal