У меня была следующая регистрация моего jQuery, который я думал, хорошо работал, чтобы видеть, был ли переключатель проверен.
if ($("input[@name='companyType']:checked").attr('id') == "primary") {
...
}
Вот переключатели:
<p>
<label>Company Type:</label>
<label for="primary"><input onclick="javascript: $('#sec').hide('slow');$('#primary_company').find('option:first').attr('selected','selected');" type="radio" name="companyType" id="primary" checked />Primary</label>
<label for="secondary"><input onclick="javascript: $('#sec').show('slow');" type="radio" name="companyType" id="secondary" />Subsidiary</label>
</p>
Затем это внезапно прекратило работать (или таким образом, я думал). Я сделал некоторую отладку и наконец понял, что она возвращала идентификатор "approved_status". В другом месте на моей форме у меня есть флажок, названный "approved_status". Я понял, что, когда я первоначально протестировал это, у меня должно быть тестирование его на записях, где approved_status является ложью. И, теперь большинство моих approved_statuses истинно/проверено.
Я изменил код на это:
var id = $("input:radio[@name='companyType']:checked").attr('id');
alert(id);
if (id == "primary") {
И это теперь правильно возвращается "основной" или "вторичный" как идентификатор.
Так, это работает, но кажется, что это не проверяет имя вообще и теперь просто проверяет переключатели. Я просто хочу знать для будущего использования, что случилось с исходным кодом b/c я вижу возможно наличие 2 различных радиостанций на странице, и затем моя новая фиксация, вероятно, не работала бы.Спасибо!
Попробуйте следующее:
var id = $("input[name='companyType']:checked").attr('id');
alert(id);
if (id == "primary") {