2016-12-26 3 views
-1

私はユーザーが詳細を入力できるフォームを持っています。そして、参加者の追加ボタンをクリックすると最大9人の詳細を追加できます。ユーザー名、選択されたチェックボックスの項目IDと項目数量の値を取得し、配列内に格納し、これらの値をURLに渡して、選択した項目と作成したユーザーを追加します。最初のクリックで、アイテムが既に配列内にあるかどうかを確認しています。最初のクリックで配列内に一致する要素が見つかった場合、他の要素が期待通りに機能しない

screenshot of form

私が達成したいものを配列内のIDのと数量を追加している、既に配列に存在するそのIDの量を増加させることである、私はこのボタンをクリックするたびに、それは、配列をチェックしますすでに存在していても動作していない場合には量を更新します。他の条件でこれに代えて

qty = qty + 1; 

qty = parseInt(jQuery(this).parents().nextAll().children().find('input[name="quantity"]').val() + 1); 

は、ここに私のコード

jQuery("#btnadd2").click(function() { 
    var qty; 
    var allVals = []; 
    var nameatt = jQuery("#txtAttendeeNames").val(); 
    var nameatt= jQuery("#txtAttendeeNames").val(); 
    var emattendee= jQuery("#txtAttendeeEmails").val(); 
    var eventname = jQuery("#hdEventName").val(); 
    var eventlocation = jQuery("#hdLocation").val(); 
    jQuery(".big:checked").each(function() { 
     qty = parseInt(jQuery(this).parents().nextAll().children().find('input[name="quantity"]').val()); 
     if (jQuery.inArray(jQuery(this).val(), allVals) == -1) { 
      allVals.push(jQuery(this).val()); //not present in array  
     } else { 
      qty = parseInt(jQuery(this).parents().nextAll().children().find('input[name="quantity"]').val() + 1); 
     } 
    }); 
    for (var i = 0; i < allVals.length; i++) { 
     var rslt = allVals.join(',' + qty + ',' + 'custcol_name_of_attendees|' + nameatt + '||custcol_email_o f_attendees|' + emattendee + '||custcol_event_name|' + eventname + '||custcol_event_location|' + eventlocation + ';'); 
     rslt1 = jQuery('#txtCntNameReg').val(rslt); 
     console.log(rslt1); 
    } 
}); 
+1

あなたのコードには、宣言されていない変数( 'emattendee'など)がたくさんあります。最初に 'var'で使用するすべての変数を宣言してください。 – Tomalak

+0

あなたのHTMLコードがなければ、ここで手助けするのは簡単ではありません。 –

+0

私は数量の値を取得していますが、URLを更新していません...私のコードで何が間違っています – Uidev123

答えて

0

このラインを試してみてくださいです。

+0

に値を渡すために、このフォーマットを使用しています私は関数が配列を格納していないと思うので、ページをリロードしない...他の部分は実行されていません – Uidev123

関連する問題