2010-09-29 2 views
0

У меня есть два g: выберите comboboxes, которые я хочу добавить в список множественного выбора, щелкнув изображение.Grails: добавьте значение два g: выберите один из нескольких списков выбора HTML

Вот функция в JavaScript:

function addToList(list,firstOpt, secOpt) 
      { 
      var y = document.createElement('option'); 
      y.text = firstOpt + ' - ' + secOpt; 
      y.value = firstOpt+'-'+secOpt; 
      var elSel = document.getElementById(list); 
      try { 
      elSel.add(y, null); // standards compliant; doesn't work in IE 
      } 
      catch(ex) { 
      elSel.add(y); // IE only 
      } 
      } 

Я думаю, что проблема здесь в реальной кнопки:

<img src="${resource(dir:'images',file:'arrow.png')}" onclick="addToList('BList','first','second')"/> 

, когда я нажимаю его, «первый - второй» добавляется к список, а не фактическое значение полей g: select. Я также пробовал ${first} и ${second}, но мне не повезло.

Любая помощь с благодарностью, спасибо!

ответ

1

У вас нет кода, который извлекает значения для первого и второго списков выбора.

Вы, вероятно, нужно что-то вроде этого:

function addToList(destinationList, sourceList1Id, sourceList2Id) { 

    // your select lists will need ids 
    // e.g. <g:select id="listOneId" .../> 

    var list1 = document.getElementById(sourceList1Id); 
    var list2 = document.getElementById(sourceList2Id); 

    var list1value = list1.options[list1.selectedIndex].value; 
    var list2value = list2.options[list2.selectedIndex].value; 

    // the rest of your addToList() function, replacing 'firstOpt' 
    // and 'secondOpt' with 'list1value' and 'list2value' respectively 
    // ... 
} 

Вы можете затем использовать это со следующими выбирает:

<!-- sources --> 
<g:select id="fooList" .../> 
<g:select id="barList" .../> 

<!-- destination --> 
<g:select id="bazList" .../> 

<img ... onclick="addToList('bazList', 'fooList', 'barList');"/> 
+0

Но я планирую использовать эту функцию в двух или трех списков и я не «Я хочу написать 3 разных функции для каждого из них, поэтому у меня были три аргумента. – randomizertech

+0

Правильно - если вы посмотрите мой последний комментарий к моему ответу, я обращаюсь к этому. Позвольте мне обновить свой пример, чтобы лучше соответствовать вашей ситуации. –

+0

Да, я понял. Мне не хватало .value часть. Спасибо!! – randomizertech