У меня была следующая проверка в моем 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 является ложным. И теперь большинство моих утвержденных_данных истинны/проверены.
Я изменил код так:
var id = $("input:radio[@name='companyType']:checked").attr('id');
alert(id);
if (id == "primary") {
И теперь правильно возвращаются «первичный» или «вторичный» в качестве идентификатора.
Итак, он работает, но кажется, что он не проверяет имя вообще и теперь просто проверяет радиокнопки. Я просто хочу знать для будущего использования, что не так с исходным кодом b/c. Возможно, у меня есть 2 разных радиоприемника на странице, а затем мое новое исправление, вероятно, не сработает. Благодаря!
Это сделал трюк. Благодаря! Что представляет собой @? Я видел этот код в нескольких местах в Интернете, используя @ – RememberME