У меня есть проверка jQuery для моей формы. Существует радио-бокс (посещаемость) и два выпадающих меню (цвет и оттенок).Проверка jQuery не работает при выборе переключателя
Он работает отлично, если пользователь входит в систему в первый раз. Однако из-за того, что я вернул значение из базы данных на основе того, что они выбрали ранее, если пользователь уже выбрал свой выбор и запустится, если они ранее выбрали «Нет», то мой jQuery не работает. Два раскрывающихся меню представляют и не выделяются серым цветом, как они должны быть. Но если я нажму на поле «Нет», это произойдет. Не уверен, что проблема связана с jQuery или моим переключателем.
Если пользователь вошел в систему в первый раз и выбрал «Нет», они сразу же серая.
JQuery проверка: Кнопка
<script src="jquery.js"></script>
<script>
$(function(){
function validate(id){
var enabled = ($("input[name='attendance" + id + "']:checked").val() == 'Yes');
if(enabled){
//Please select option is selected
if($("#colour" + id)[0].selectedIndex == 0){
alert('Please make your colourselection');
return false;
}
//Please select option is selected
if($("#shade" + id)[0].selectedIndex == 0){
alert('Please select your shade');
return false;
}
}
return true;
};
$("input[name^='attendance']").click(function() {
var id = this.name.replace('attendance', '');
$("#colour" + id + ", #shade" + id).prop("disabled", this.value == 'No');
validate(id);
});
$("input:submit").click(function(){
var retVal = true;
$.each([1], function(i, val){
retVal = (validate(val) && retVal);
});
return retVal;
});
});
</script>
радио:
<input name="attendance1" type="radio" id="Yes" value="Yes" checked="CHECKED" <?php if($row3['attendance1']=="Yes") { echo "checked"; }?>/>Attend with pleasure
<br />
<input name="attendance1" type="radio" id="No" value="No" <?php if($row3['attendance1']=="No") { echo "checked"; }?>/>Decline with regret