2016-12-26 9 views
1

私はユーザーが詳細を記入できるフォームを持っており、[参加者を追加]ボタンをクリックすると最大9人の詳細を追加できます。私はユーザー名、選択されたチェックボックスアイテムのIDとアイテムの数量を取得していると配列内に格納し、選択したアイテムを追加し、ユーザーを作成するURLにこれらの値を渡す最初のクリックではなく、アレイ。数量を増やす必要がある場合に値が存在するかどうかを確認したいのですが、配列に再度追加する必要はありません。ここで配列の重複値を確認し、jqueryを使用してifが存在しない場合は

私のコードのjQueryで

jQuery(document).ready(function() { 
    var allVals = []; 
    jQuery("#btnadd2").click(function() { //Clicking on this add attendee button getting values 
     var nameatt = jQuery("#txtAttendeeNames").val(); 
     var qty = jQuery('input[name="qty"]').val(); //increase quantity if selected checkbox id is already present in array 
     jQuery(".big:checked").each(function() { 
      allVals.push($(this).val()); //getting selected checkbox value and based on this getting item id which should not exist in array 
     }); 
     for (i = 0; i < allVals.length; i++) { //creating url and updating multi div with this 
      var rslt = allVals.join(',' 
       '+' 
       custcol_name_of_attendees | '+nameatt+' | +';'); 
      rslt = jQuery('#multi').val(rslt); 
     } 
    }); 
}); 

答えて

2

使用jQuery.inArray()です。 jQuery.inArray()メソッドは、JavaScriptのネイティブ.indexOf()メソッドと似ていますが、一致するものが見つからない場合は-1を返します。配列内の最初の要素が値、応答のためのjQuery.inArray() 0を返します。

jQuery(".big:checked").each(function() { 
    if(jQuery.inArray($(this).val(), allVals) == -1) { 
    allVals.push($(this).val()); 
    } else { 
    // Already present in the array 
    } 
}); 
+0

おかげと一致した場合、私はコードを置く場所...配列にその既に存在する場合量を増やすには? – Uidev123

+0

数量を増やすためのコードを追加しましたが、表示されませんでした1重複したIDはありません....これは私のコードです – Uidev123

+0

jQuery( "#btnadd2")(var qty = 1; var jQuery( "big:checked");それぞれ(function(){ var qty = parseInt(jQuery(this)).parents(if(jQuery.inArray(jQuery(this).val()、allVals)== - このメソッドは、 1){ allVals.push(jQuery(this).val()); } else { qty = parseInt(jQuery(this)).parents()。nextAll()。children()。find( 'input [ (i = 0; i Uidev123

関連する問題