2012-01-14 3 views
0

Как найти значения двух разных выпадающих списков и добавить два значения вместе при выборе (без представления), если они имеют одинаковое «имя», а затем поместить значение суммы в массив используя jquery?несколько выпадающих списков выбора для добавления значений

EDIT

Для небольшого осветления, я динамически создать список, который должен выглядеть как этот

BOX A, BOX A, TITLE

BOX B, BOX B, TITLE

BOX C, BOX C, TITLE и т.д ...

Каждый список будут отличаться и редко одни и те же. В следующий раз ящики могут быть DE или F. Когда выбрано (в настоящее время .onchange) Все соответствующие поля необходимо добавлять вместе, а затем вставлять в отдельный массив, если значение не пустое ...

var s = [ sumOfAs, sumOfBs, sumOfCs];

Я надеюсь, что это помогает ... Также задний конец PHP СПАСИБО!

EDIT

Вот код JQuery, который толкает первый набор значений в массив ...

$("#selectionBox select").change(function(){ 
    s = []; 
    $("#selectionBox select option:selected").each(function(){ 
     $("#selected_songs").text(''); 

     var v = $(this).val(); 
     if(v != ''){ 
      s.push(v); 
     } 
     if(s != ""){ 
      $('#selectionButton').show(); 
      var mw = $("#list_month_New").val(); 
      var dw = $("#list_day_New").val(); 
      var yw = $("#list_year_New").val(); 
      var t = $("#listTitle").val(); 
      if(mw == "" || dw == "" || yw == ""){ 
       $("#songListWarning").show(); 
      }else{ 
       $("#songListWarning").hide(); 
      } 
     }else{ 
      $("#list_month_New").val(); 
      $("#list_day_New").val(); 
      $("#list_year_New").val(); 
      $("#listTitle").val(); 
      $('#selectionButton').hide(); 
     } 
    }); 
    s.sort(); 
    jQuery.each(s, function(){ 
      O = ""; 
      O = this+"<br />"; 
      str = /&(.+)/.exec(O)[1]; 
      num = O.replace(/\-.*/, ''); 
      fullString = '<span style="color:black">'+num+'</span> - '+str; 
      $("#selected_songs").append(fullString); 
    }); 

Мне просто нужно, чтобы выяснить, как добавить значение к исходному значению?

+0

Два входа не могут иметь одинаковые имена в пределах формы, если имя не является массив, например 'names []'. –

+0

Моя цель - разрешить кому-то выбирать из двух блоков, которые необходимо добавить вместе, а затем отобразить на экране после выбора. Проблема в том, что у меня есть около 200 предметов на выбор, и у каждого элемента есть компаньон. Когда они будут добавлены вместе, на экране будут отображаться только те поля, которые не пусты, и после того, как я перекрою мой выбор, я могу отправить. Есть идеи? –

+0

@PhpMyCoder Это неверно. Я считаю, что это верно для php, но не для других языков. –

ответ

0
var runningTotals = {}; 
$('select').each(function() { 
    var $this = $(this); 
    var name = $this.attr("name"); 
    var val = runningTotals[name]; 
    if (!val) { 
     val = 0; 
    } 
    val += +($this.val()); 
    runningTotals[name] = val; 
}); 

Пожалуйста, обратитесь к этому fiddle


EDIT отредактирован обновить для изменения редактирования вы сделали

+0

с этим вы можете поместить runTotal в массив. Обратите внимание, что, как отметил @PhpMyCoder, вы должны убедиться, что ваше имя находится в правильном формате;) – Skyrim

+0

'[]' вещь для php. Он не указал, какой бэкэнд он использует. –

+0

ah, ic ... несмотря на то, что это решение должно работать для нужного случая. – Skyrim

Смежные вопросы