2009-12-24 6 views
0

Mes form.htmlObtenir des valeurs à partir d'éléments de formulaire dans JQUERY?

<form id="search-form" method="post" action="." name="f"> 
<p><label for="id_customer_type">Customer type</label> <select name="customer_type" id="id_customer_type"> 
<option value="">All</option> 
<option value="TDO" selected="selected">TDO</option> 
</select></p> 
<p><label for="id_tag">Tag</label> </p><dl> 
<dt><strong>School</strong></dt> 
<dd><label for="id_tag_1"><input checked="checked" name="tag" value="2" id="id_tag_1" type="checkbox"> Private</label></dd> 

<dd><label for="id_tag_2"><input checked="checked" name="tag" value="3" id="id_tag_2" type="checkbox"> Public</label></dd> 
</dl> 
<input id="filter" value="Filter" type="submit"> 
</form> 

Mes script.js

$(document).ready(function(){ 
     // Third way == UPDATE jQuery 1.3 
     $("input[type='checkbox']:checked").each(function(){ 
      // your code 
      checkboxs_ischecked = $("input[type='checkbox']").val(); 
     }); 

     $("#filter").click(function() { 
      customet_type = $('#id_customer_type :selected').text(); 
      checkbox_ischecked = ????? //How Can I get the checkboxs value that is checked? 
      document.f.action = "/customer/show/?customer_type="+customet_type+"& 

    tag="+checkboxs_ischecked; // in my case something like this :checkbox_ischecked = Private_Public if I have checked Private and Public 
       ; 
       return true; 
      }); 

     }); 

Merci! :)

+0

Êtes-vous en train de faire un bouton radio par hasard? – Yossi

Répondre

1

val() est la méthode correcte, mais la portée de checkbox_ischecked n'est pas prise en compte.

Vous devez déclarer la variable en dehors de la fonction anonyme:

$(document).ready(function(){ 

    var checkboxs_ischecked; // ADD THIS LINE 

    $("input[type='checkbox']:checked").each(function(){ 
     checkboxs_ischecked = $("input[type='checkbox']").val(); 
    }); 

... 
+1

Cela ne devrait pas fonctionner, puisqu'il le vérifie sur document.ready. L'utilisateur peut avoir modifié les informations avant l'envoi, ce morceau de code doit être dans la fonction $ ("# filter"). Click(). – Yossi

Questions connexes