2016-10-04 7 views
0

javascript/jQueryと2つの値を比較しています。 1つの値はデータ属性であり、もう1つはユーザーが入力した値です。私はスクリプトがデータ属性の単語と一致しないユーザーの値の単語を見つけるようにしたい。 .text要素全体にクラスを追加することはできますが、単語にクラスを追加する方法はわかりません...これらの値を分割する必要がありますか?値を比較し、一致しない単語にエラークラスを追加します

はここに私のHTMLコードです

<div id="compare-text"> 
    <div class="row"><span>1.</span><p class="text" data-for="Some sample text" spellcheck="false" contenteditable="true"></p></div> 
    <div class="row"><span>2.</span><p class="text" data-for="Some sample text" spellcheck="false" contenteditable="true"></p></div> 
    <div class="row"><span>3.</span><p class="text" data-for="Some sample text" spellcheck="false" contenteditable="true"></p></div> 
</div> 

は、ここに私のスクリプトです

$('#check').click(function() { 
var controlNumber = 1; 
$('.text').each(function() { 
    var value = $(this).attr('data-for'), 
    userValue = $(this).text(); 
    value = value.toLowerCase(); 
    userValue = userValue.toLowerCase(); 
    if (userValue === '') { 
    $(this).addClass('error'); 
    $(this).removeClass('success'); 
    controlNumber = 0; 
    } else if (value !== userValue && userValue !== '') { 
    $(this).addClass('error'); 
    $(this).removeClass('success'); 
    controlNumber = 0; 
    } else if (value === userValue) { 
    $(this).addClass('success'); 
    $(this).removeClass('error'); 
    } else { 
    controlNumber = 1; 
    } 
}); 
if (controlNumber === 1) { 
    $('#success-message').addClass('visible'); 
} 

});

答えて

0

入力したデータがdata-for属性の値と一致するかどうかを確認したい場合は、あなたがこれを行うことができます:

$(".test").keydown(function(){ 
    var data = $(this).attr('data-for').split(" "), 
     text = this.value.split(0); 
    $(this).addClass("success"); 
    $(this).removeClass("error"); 
    for (var i = text.length; i--;) for (var j = data.length; j--;) { 
     if (data[j] === text[i]) { 
      $(this).addClass("error"); 
      $(this).removeClass("success"); 
    } 
}) 

変更などの入力にtest要素:

<input/>または<textarea></textarea>

+0

このコードを#checkクリック機能の中に貼り付けるべきですか? – user3043693

+0

@ user3043693 IMOあなたが理解できないコードを貼り付けるべきではない...これについて疑問に思うのは何ですか? –

関連する問題