0

私は次の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 つの検索があります。私が知りたいのは、検索ボタンがクリックされたときです。どのラジオ ボタンがクリックされたかを判断するにはどうすればよいですか? したがって、最初の検索で検索ボタンがクリックされた場合は組織であり、2 番目の検索で検索ボタンがクリックされた場合は個人になります。

ページに検索が 1 つしかない場合は、これを行う方法を考え出すことができると思いますが、2 つあるという事実は私を混乱させます。

4

2 に答える 2

0

クリックされたボタンのインデックスを特定し、JQuery を使用して同じインデックスを持つラジオ グループにアクセスできます。

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

フィドル: http://jsfiddle.net/hd72Q/

于 2013-03-10T19:27:13.023 に答える
0

これらが異なる検索である場合、私見では、各グループの無線入力タイプの名前を変更する必要があります。そうしないと、1 つのグループのように動作します。したがって、2回目の検索では、

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

jsフィドル

于 2013-03-10T19:40:13.723 に答える