从JQUERY中的表单元素中获取值?

时间:2009-12-24 03:53:46

标签: jquery

我的form.html

<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>

我的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; 
            });

        });

谢谢! :)

1 个答案:

答案 0 :(得分:1)

val()是正确的方法,但不考虑checkbox_ischecked的范围。

您必须在匿名函数之外声明变量:

$(document).ready(function(){

    var checkboxs_ischecked; // ADD THIS LINE

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

...