2017-06-19 5 views
0

divに特定の入力を選択したいが選択しません。ラベルを選択するとうまく動作します。星付きのコード行は、コード内の以下の問題点です。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

入力のあなたが実際にいくつかの奇妙な理由で、あなたの入力要素に1を入れない限り、そのセレクタが優勝よりも、 'for'属性を使用していないを試してみてください見つけようとしています –

+2

イベントハンドラの中にイベントハンドラをバインドしないでください – Satpal

+0

達成したいことを説明してください – clarkoy

答えて

1

あなたがidで選択する必要がある場合は、この

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

なぜ 'var input = $(this)'だけではないのですか? – Satpal

関連する問題