нечетное поведение при проверке, устанавливается ли переключатель в jQuery

У меня была следующая регистрация моего 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 различных радиостанций на странице, и затем моя новая фиксация, вероятно, не работала бы.Спасибо!

1
задан RememberME 24 April 2010 в 22:31
поделиться