2017-06-19 53 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