我有一个单选按钮,它从mysql中读取值并成功突出显示正确的单选按钮。 我也有jquery验证,当单选按钮处于'no'值时,2个下拉菜单变灰。单选按钮 - 从Db中读取预先选定的值
我的问题在于,当用户选择“否”单选按钮时,它将其保存到mysql中,但是当他/她在单选按钮中重新登录时正确处于“否”位置,但是2下拉菜单不是他们应该是灰色的。如果我然后点击'否'单选按钮,它们会灰掉。
我明显不希望这样,如果用户选择'否',然后重新登录我希望在登录时下拉菜单变灰。
PHP代码:
<?php
$row2 = "SELECT * FROM user WHERE username = '" . mysql_real_escape_string($_SESSION['username']) . "'";
$result = mysql_query($row2) or die("Error in SQL: " . mysql_error());
$row3 = mysql_fetch_array($result);
?>
单选按钮CODE:
<input name="attendance1" type="radio" id="Yes" value="Yes" <?php if($row3['attendance1']=="Yes") { echo "checked"; }?>/>Yes
<br />
<input name="attendance1" type="radio" id="No" value="No" <?php if($row3['attendance1']=="No") { echo "checked"; }?>/>No
I would be greatful if someone could tell me where i am going wrong. When retrieving the value from the database it is obviously not physically selecting the radio button which i would like it to do
JQUERY VALIDATION:
<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 colour selection');
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;
$(document).ready(function(){
$("input[name=attendance1]:checked").triggerHandler('click');
});
</script>
2下拉菜单被称为颜色和阴影
你是否禁用PHP的下拉菜单或仅在JavaScript中?你需要显示更多的代码。 – spencercw 2012-02-27 00:35:16
我使用jQuery。已编辑与jquery的源代码。如果我物理选择“否”,我不认为问题在于jquery的工作原理。但是当从mysql导入“否”时,它不起作用,直到我自己单击“否”。 – Jacob 2012-02-27 00:39:53