我有一個單選按鈕,它從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