-1
我正在做一些測試 - http://magora-systems-test.esy.es/,並且其中一項任務使得單選按鈕通過JavaScript(jQuery)進行靜態化。我一次又一次地重新構造構造,但始終存在一個問題:通過單擊樣式化克隆,JS成功地將輸入單選按鈕屬性設置爲checked =「checked」,但它確實沒有被設置爲選擇,並且所需的屬性talkink相同。我不明白爲什麼?單選按鈕未設置爲選中
HTML:
<fieldset class="userAge">
<div class="fieldName">
Возраст:
</div>
<div class="overflow">
<input type="radio" name="userAge" id="seventeen" title="Выберите если вы младше 17" required>
<label for="seventeen">17 и младше</label>
<input type="radio" name="userAge" id="eighteen" title="Выберите если вы старше 18" required>
<label for="eighteen">18 и старше</label>
</div>
</fieldset>
JS:
;(function($) {
// Расширяем набор элементов jQuery новым плагином.
$.fn.sexyElement = function() {
// Запуск для всех инициализаций на странице.
$(this).each(function() {
var element = $(this);
// RADIO
else if (element.is(':radio')) {
// Для всех существующих радио кнопок.
element.each(function() {
// Создание и обработка радио кнопок.
var createRadio = function(){
var sexyRadio = '<div class="radio" title="' + element.attr('title') + '">\
<div class="dot">\
</div>\
</div>';
element.before(sexyRadio);
}
// Запуск функции.
createRadio();
});
// Определяем основные элементы.
var commonParent = element.parents().eq(0),
buttons = commonParent.find(':radio');
// Обработка щелчка мыши.
$('.radio').click(function() {
$(this).addClass('checked').siblings().removeClass('checked');
buttons.attr('checked', false);
$(this).next(':radio').attr('checked', true);
buttons.change();
});
}
// END RADIO
// В противном случае.
else {
alert('Пожайлуста убедитесь, что выбранный вами элемент является select или radio');
return false;
}
});
}
})(jQuery);
啓動插件:
$(document).ready(function() {
$(':radio').sexyElement();
});
PS:對不起一些TITL關於俄語。標籤JS代碼還沒有寫入。
你好,每個單選按鈕有兩個單選按鈕,一個是藍色,另一個是灰色。預計會發生什麼? –
checked =「checked」工作正常。問題 –
_期望值是什麼?_ - 是的,這是預期的。這是爲了測試。稍後它將被css隱藏。 – user3688243