2013-07-01 4 views
1

У меня возникли проблемы с попыткой получить значение из проверенного checkbox es. Я могу получить значение от radio button, но я не могу получить значение из флажков.Получение значений из флажков с помощью javascript

Код

<html> 
<head> 
    <script language="javascript"> 

     function subscription() { 
      var subamount = document.querySelector('input[name="sublvl"]:checked').value; 
      $('input:checked').each(function() { 
       // To pass this value to its nearby hidden input 
       $(this).parent('td').next('input').val($(this).val()); 
      }); 

      alert(subamount); 
     } 

    </script> 
</head> 
<body> 
    <h3> 
     <span style="color: #ff0000;">Step 1: Choose your donation amount</span></h3> 
    <form name="pclvl" action="#" method="get"> 
    <label> 
     <input type="radio" name="sublvl" value="10" /> 
     Pathfinder Chronicler Supporter $10.00 USD</label> 
    <br> 
    <label> 
     <input type="radio" name="sublvl" value="15" /> 
     Pathfinder Chronicler Bronze Supporter $15.00 USD</label> 
    <br> 
    <label> 
     <input type="radio" name="sublvl" value="20" /> 
     Pathfinder Chronicler Silver Supporter $20.00 USD</label> 
    <br> 
    <label> 
     <input type="radio" name="sublvl" value="30" /> 
     Pathfinder Chronicler Gold Supporter $30.00 USD</label> 
    <br> 
    <label> 
     <input type="radio" name="sublvl" value="40" /> 
     Pathfinder Chronicler Platinum Supporter $40.00 USD</label> 
    <br> 
    <label> 
     <input type="radio" name="sublvl" value="45" /> 
     Pathfinder Chronicler Jewel Supporter $45.00 USD</label> 
    <br> 
    <label> 
     <input type="radio" name="sublvl" value="50" /> 
     Pathfinder Chronicler Diamond Supporter $50.00 USD</label> 
    <br> 
    </p> 
    </form> 
    <h3> 
     <span style="color: #ff0000;">Step 2: Choose your donation reward</span></h3> 
    <p> 
     <form name="donations" action="#" method="get"> 
     <input type="checkbox" name="reward" value="1" /> 
     Vol. I Package ($10 value) A print copy of Pathfinder Chronicler Volume I (shipping 
     charges not included)<br /> 
     <input type="checkbox" name="reward" value="2" /> 
     Vol. II Package ($10 value) A print copy of Pathfinder Chronicler Volume II (shipping 
     charges not included) 
     <br /> 
     <input type="checkbox" name="reward" value="3" /> 
     Vol. III Package ($10 value) A print copy of Pathfinder Chronicler Volume III (shipping 
     charges not included) 
     <br /> 
     <input type="checkbox" name="reward" value="4" /> 
     Vol. I Package + Vol. I Poster ($15 value) A print copy of Pathfinder Chronicler 
     Volume I with a 11x17 Poster of Volume I Source Art by Eva Widermann (shipping charges 
     not included)<br /> 
     <input type="checkbox" name="reward" value="5" /> 
     Vol. II Package + Vol. II Poster ($15 value) A print copy of Pathfinder Chronicler 
     Volume II with a 11x17 Poster of Volume II Source Art by Carolina Eade (shipping 
     charges not included)<br /> 
     <input type="checkbox" name="reward" value="6" /> 
     Vol. III Package + Vol. III Poster ($15 value) A print copy of Pathfinder Chronicler 
     Volume II with a 11x17 Poster of Volume III Source Art by Carolina Eade (shipping 
     charges not included)<br /> 
     <input type="checkbox" name="reward" value="7" /> 
     Complete Package ($50 value) Print copies of Pathfinder Chronicler Volume I, II 
     and III with 11x17 Posters of Volume I, II, III, and IV Source Art, by Eva Widermann 
     and Carolina Eade (shipping charges not included)<br /> 
     <input type="checkbox" name="poster" value="poster" /> 
     Poster Package ($20 value) 11x17 Posters of Volume I, II, III, and IV Source Art, 
     by Eva Widermann and Carolina Eade (shipping charges not included)<br /> 
    </p> 
    <input type="button" value="test click" onclick="subscription(this.form)"> 
    </form> 
</body> 
</html> 
+0

'.next ('вход')', вероятно, следует '.next ('вход: скрытый')'. Но почему вы все равно дублируете, не представлены ли ваши флажки? – Bergi

+0

Как вы собираетесь обрабатывать несколько вариантов «вознаграждения»? – Bergi

+2

Почему вы используете как селектор DOM для jQuery *, так и *? – Bergi

ответ

1

Если вы собираетесь использовать JQuery, возможно, также придерживаться JQuery. Я включаю в себя множество комментариев, так как вы некоторое время находились вдали от веб-программирования и можете использовать обновление.

Edit: Просто видел ваши изменения, изменен, чтобы получить флажки

function subscription() { 

    // Create an array of checkbox inputs that are checked 
    var $inputs = $('input[type="checkbox"]:checked'); 

    // Iterate through all the checked inputs, you could use 
    // jQuery's $each here but it's horribly slow 
    for (var i = 0; i < $inputs.length; i++) { 

     // Assign the value 
     var inputValue = $($inputs[i]).val(); 

     // Please note I cannot see the hidden field on your markup, but let's 
     // just target the first hidden field available if that is what you want 
     // If you include the hidden field on the markup, we could target it 
     // specifically also... 
     $('input:hidden').val(inputValue); 

    } 
} 
+0

как бы я их вывел? –

+0

ok позвольте мне спросить вас, мне нужно получить информацию с переключателей и флажков, а затем отправить в PayPal, что это лучший способ сделать это, не выходя из страницы. –

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