-2

onkeyup または onblur イベントでループしている同じ ID を持つテキスト ボックスの重複値を検証するのを手伝ってください。フォームを送信する前に検証する必要があります。

ループで生成されたN個のテキストボックス、各テキストボックスでランクを入力する必要があるため、値がテキストボックスに入力された後に重複したランクを入力してはならないことを検証する必要があります。

enter code here

       <%Iterator iterator_t = tem.keySet().iterator();
   int i =0;
   while (iter.hasNext()) {
       String key_t = (String) iter.next(); 
           ModuleBean moduleBean = (ModuleBean) tem.get(key_t); %>
           <input type="text" name="rank1" id="rank1" size="2" "/>  
       <%}%>   
4

1 に答える 1

2

同じIDを使用することはできません。代わりにクラスを追加してください。デモ

<input type="text" name="rank1" id="rank1" size="2" class="rank" value="1"/>
<input type="text" name="rank2" id="rank2" size="2" class="rank" value="2"/>

function find_duplicates(arr) {
  var len=arr.length,
      out=[],
      counts={};

  for (var i=0;i<len;i++) {
    var item = arr[i];
    var count = counts[item];
    counts[item] = counts[item] >= 1 ? counts[item] + 1 : 1;
  }

  for (var item in counts) {
    if(counts[item] > 1)
      out.push(item);
  }

  return out;
}

$('.rank').keyup(function()
{
    var listOfValues = [];

    $('.rank').each(function()
    {
        if($(this).val()!='')
           listOfValues.push($(this).val());
    });

    var duplicates = find_duplicates(listOfValues);

    if(duplicates.length>0)
    {
        $('#result').html('Duplicates are:');
        $('#result').append(JSON.stringify(duplicates));
    }
    else
    {
        $('#result').html('No Duplicates found');
    }
});
于 2013-07-11T08:18:59.513 に答える