2017-01-24 2 views
0
<input type ="text" class="searchskill" value=""> 
<input type ="text" class="searchskill" value="3"> 
<input type ="text" class="searchskill" value=""> 
<input type ="text" class="searchskill" value="4"> 

どのように値が空であるすべてのクラスフィールドにフォーカスすることができますか?値が空のすべてのクラスフィールドにどのようにフォーカスすることができますか?

var skillname =$(".searchskill").map(function() { 
    if($(this).val()==''){ 
     return false; 
    } 
}).get(); 

if(jQuery.isEmptyObject(skillname)){ 
} else { 
    alert("You Can Not Keep Skill Name As Blank"); 
    $(".searchskill").css({"border-style": "solid", "border-color": "red"}); 
    $(".searchskill").focus(); 
    return false; 
} 

私は空白のものだけに集中したい...これを解決するにはどうすればよいですか?

+4

あなたは右のみ、一度に一つのフィールドに焦点を当てることができることを認識していますか? – CBroe

答えて

1

使用.filter()は、その値が空白で、他のものを行うよりも、

$(".clssubmit").on("click", function() { 
 
    var filteredList = $('.searchskill').filter(function() { 
 
    return $(this).val() == ""; 
 
    }); 
 
    if (filteredList.length > 0) { 
 
    filteredList.css("border", "1px solid red"); 
 
    return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="searchskill" value=""> 
 
<input type="text" class="searchskill" value="3"> 
 
<input type="text" class="searchskill" value=""> 
 
<input type="text" class="searchskill" value="4"> 
 

 
<input type="button" value="submit" class="clssubmit" />

+0

多くの入力テキストがあります。これとは別に –

+0

私は答えを更新しました。あなたはフォーカスする必要がある入力に同じクラスを適用してください – Curiousdev

+0

どこで私はreurn falseを書く必要がありますか? –

1
$(".searchskill").each(function() { 
    if($(this).val() === "") { 
     $(this).css({"border-style": "solid", "border-color": "red"}); 
    } 
}); 
+0

戻り値なしで '.map'を使うと、機能を無駄にするだけです。代わりに '.each'を使用してください。 – Rajesh

+0

@Rajesh私は私の投稿を編集しましたが、ごめんなさい。 –

+0

' .each() 'を使用している場合は、変数を使用して保存しないでください。彼は何も返さない場合は何も格納していない変数を使っていると言っています。 – Shubham

1

あなたはjQueryのを使用していると仮定すると、以下のようにスニペットを見つけてくださいすべてのテキストボックスを取得します。

var $inputs = $(".searchskill"); 
for (let i = 0, iLen = $inputs.length; i < iLen; i++) { 
     var $elem = $($inputs[i]); 
     if($elem.val()===""){ 
     $elem.parent("div").addClass("border-red alert-danger"); 
     $elem.focus(); 
     } 
    } 
1

私の理解では、focusはすべてhighlightを意味します。それが当てはまる場合は、attributeセレクタを試すことができます。

$(function(){ 
 
    $('.searchskill[value=""]').addClass('error') 
 
})
.error{ 
 
    border: 1px solid red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<input type ="text" class="searchskill" value=" "> 
 
<input type ="text" class="searchskill" value="3"> 
 
<input type ="text" class="searchskill" value=""> 
 
<input type ="text" class="searchskill" value="4"> 
 
<input type ="text" class="searchskill" value=""> 
 
<input type ="text" class="searchskill" value="4"> 
 
<input type ="text" class="searchskill" value=""> 
 
<input type ="text" class="searchskill" value="4"> 
 
<input type ="text" class="searchskill" value=""> 
 
<input type ="text" class="searchskill" value="4"> 
 
<input type ="text" class="searchskill" value=""> 
 
<input type ="text" class="searchskill" value="4">

0

これは、セレクタと単純である可能性があります。

// highlight all empty fields and focus on the first one 
 
$('.searchskill[value=""]').css({"border-style": "solid", "border-color": "red"})[0].focus();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type ="text" class="searchskill" value=""> 
 
<input type ="text" class="searchskill" value="3"> 
 
<input type ="text" class="searchskill" value=""> 
 
<input type ="text" class="searchskill" value="4">

関連する問題