如何找到我有包含div时选择的单选按钮

时间:2013-03-10 19:22:30

标签: jquery html

我有以下html:

    <input type="text" class="searchpersontxtbox" />
    <input type="button" value="Find" class="findpersonbtn btn" disabled="disabled" />
    <img class="loader" style="display: none;" alt="Loading..." src="@Url.Content("~/Content/Images/ajax-loader.gif")" />
    <div class="peopleresultsdiv"></div>
    <div class="contactType">
        <input type="radio" name="searchtype" value="person" >Person
        <input type="radio" name="searchtype" value="organisation" checked="checked">Organisation
    </div>
<input type="text" class="searchpersontxtbox" />
    <input type="button" value="Find" class="findpersonbtn btn" disabled="disabled" />
    <img class="loader" style="display: none;" alt="Loading..." src="@Url.Content("~/Content/Images/ajax-loader.gif")" />
    <div class="peopleresultsdiv"></div>
    <div class="contactType">
        <input type="radio" name="searchtype" value="person" checked="checked">Person
        <input type="radio" name="searchtype" value="organisation">Organisation
    </div>

所以这里有两个搜索。我想知道的是当点击查找按钮时如何确定单击了哪个单选按钮?因此,如果点击第一个查找按钮,那么它就是组织,如果点击第二个搜索,那么它就是人。

我想如果页面上只有一个搜索,我可以知道如何做到这一点但事实上有两个让我感到困惑。

2 个答案:

答案 0 :(得分:0)

您可以使用JQuery确定所单击按钮的索引,然后使用相同的索引访问该无线电组:

$('input[type=button]').index($this)

FIDDLE: http://jsfiddle.net/hd72Q/

答案 1 :(得分:0)

如果这些是不同的搜索,那么恕我直言,您需要更改每个组中的无线电输入类型的名称,否则它们就像一个组。因此,对于第二次搜索,它可能是

<input type="radio" name="searchtype2" value="person" checked="checked">Person
<input type="radio" name="searchtype2" value="organisation">Organisation
                                    ^

这是另一种获取与查找按钮相关的已检查无线电输入类型值的方法

$(".findpersonbtn.btn").click(function(){
    var value = $(this).nextAll(".contactType").first().find("input[type=radio]:checked").val();
    alert(value);
});

<强> jsFiddle