У меня есть JavaScript с этим кодом:
$("input:checked").length
После нажатия кнопки «Назад» в браузере этот код $ («input: selected»). Length; не работает в опере. Что я могу сделать?
В основном мне нужно проверить, были ли отмечены две радиокнопки или нет
<script>
$(document).ready(function () {
$("#signup").button();
$("#signup").click(function () {
alert($("#bb input:checked").length);
if ($("#bb input:checked").length == 2) {
$("#signup").val("1");
}
});
});
</script>
@using (Html.BeginForm())
{
<div id="wrapper">
<div id="bb">
<div id="rbl1" class="rbl1">
<input type="radio" id="rb11" name="radio-b1" value="1"/><label for="rb11" class="radio">Everyday</label>
<input type="radio" id="rb12" name="radio-b1" value="2"/><label for="rb12" class="radio">Saturday</label>
</div>
<div id="rbl2" class="rbl2">
<input type="radio" id="rb21" name="radio-b2" value="1"/><label for="rb21" class="radio">One</label>
<input type="radio" id="rb22" name="radio-b2" value="2"/><label for="rb22" class="radio">Two</label>
</div>
</div>
</div>
<button name="submit" id="signup">Sugn up</button>
}
В первый раз он работает хорошо во всех браузерах, после того, как переключатели проверены, я отправляю свою форму в то время, все хорошо. Но потом я просто проверил, что произошло, если я вернусь в историю браузера и снова отправлю форму, поэтому все браузеры в порядке, кроме Opera, в этой строке кода происходит сбой $ ("# bb input: checked"). Length == 2) и не уточнил почему.
До того, как я использовал jQuery 1.5.1, теперь я обновился до 1.5.2 и все еще та же проблема.
Обновлен подробный пример кода, полный HTML-код размещен здесь http://sourcepod.com/puvmmz30-4571
Возможно, что-то не так с историей Оперы.
Есть ли еще способ установить значение $ ("# signup"). Val ("1"); или проверьте, выбран ли список радио ("#bb input: selected") и история Opera не очистила это.