Выбор группы значений выпадающего списка, используя каждый оператор в JQuery - PullRequest
1 голос
/ 21 февраля 2011

Я хочу написать простой код на языке шаблонов скорости (VTL).У меня есть группа раскрывающихся списков, я хочу перебрать все раскрывающиеся списки и получить значения каждого раскрывающегося списка и подсчитать количество выбранных значений в каждой отдельной категории.Код указан ниже:

#macro( macroYesNoSelect $fieldId $section )
<select  name='${fieldId}' id='${fieldId}' section='${section}' ischanged="">
    <option value="Yes" 
        #if ($Form.getFieldValue("${fieldId}") == "Yes") 
            selected 
        #end 
    score="1">Yes</option>
    <option value="No"  
        #if ($Form.getFieldValue("${fieldId}") == "No") 
            selected 
        #end
    score="0">No</option>
    <option value="N/A" 
        #if ($Form.getFieldValue("${fieldId}") == "N/A") 
            selected 
        #end
    score="0">N/A</option>
</select>
#end

Javascript:

<script>
calcYesNO("Question");

function calcYesNO(sectionName){
        var scoreSum=0;
        var optionYes=0;
        var optionNo=0;
        var optionNA=0;
        $("select[section='"+ sectionName +"']").each(function(){

         if($(this).find("option:selected").attr('value') == 'Yes')
         {
          optionYes=optionYes+1;
         }
         else if($(this).find("option:selected").attr('value') == 'No')
         {
          optionNo=optionNo+1;
         }
         else
         {
          optionNA=optionNA+1;
         }      
        } 
        scoreSum = optionYes;
        return scoreSum;
        }

</script>

HTML-код:

<table>
<tr>

        <td>Question1 ?</td>
        <td>
            #macroYesNoSelect ( "id1" "Questions" )
        </td>

    </tr>
    <tr>

        <td> Question2 ?</td>
        <td>
            #macroYesNoSelect ( "id2" "Questions" )
        </td>
    </tr>
    <tr>

        <td> Question3 ?</td>
        <td>
            #macroYesNoSelect ( "id3" "Questions" )
        </td>
    </tr>
</table>

Я хочу выбрать число YES, NO и NA согласно моему выбору.Но когда я вызываю функцию calcYesNO(), я не могу их вычислить ...

Может ли кто-нибудь помочь мне решить эту проблему?Спасибо Кишоре

1 Ответ

1 голос
/ 21 февраля 2011

jQuery умеет извлекать

$("select[section='"+ sectionName +"']").each(function(n, element){

     if($(element).val() == 'Yes')
     {
      optionYes=optionYes+1;
     }
     else if($(element).val() == 'No')
     {
      optionNo=optionNo+1;
     }
     else
     {
      optionNA=optionNA+1;
     }      
    }

При этом существующий код выглядит так, как будто он должен работать.Вы убедились, что $ ("select [section = '" + sectionName + "']") на самом деле получает меню выбора?

...