JQuery: показать div на кнопке выбора радио - PullRequest
2 голосов
/ 14 апреля 2010

Я пытаюсь использовать jQuery для отображения div, когда пользователь выбирает определенную радиокнопку (Other) в группе радиокнопок.

HTML ниже

<div id="countries">

<input id="Washington_D.C" type="radio" name="location" value="Washington">Washington D.C</input>
<input id="Other" type="radio" name="location" value="">Other</input>
    <div id="other locations" style="display: none">
    </div>
</div>

Использование кода JQuery:

$(document).ready(function(){
    $("radio[@name='location']").change(function(){
        if ($("radio[@name='location']:checked").val() == 'Other')
        $("#county_drop_down").show();
    });
 });

Но я не показываю div в других местах, когда я выбираю радиокнопку Other.

Ответы [ 2 ]

7 голосов
/ 14 апреля 2010

Вам нужно дать ему значение Other.

Таким образом, не так

<input id="Other" TYPE="RADIO" NAME="location" VALUE="">Other</input>

но так

<input id="Other" TYPE="RADIO" NAME="location" VALUE="Other">Other</input>

На первый взгляд, ваш код jQuery выглядит хорошо. Однако я бы предпочел click выше change, поскольку change не срабатывает при первом нажатии, если нет возможности предварительного выбора.

2 голосов
/ 14 апреля 2010

Попробуйте

$("radio[name='location']").change(function(){
    if ($(this).val() === 'Other')
    {
        if($(this).is(":checked"))
        {
            $("#county_drop_down").show();
        }
    }
});

установите для переключателя значение Другое, чтобы этот код работал.

...