Php 单选按钮-从Db读取预选值
我有一个单选按钮,它从mysql读取值并成功地突出显示正确的单选按钮。 我还进行了jquery验证,当单选按钮处于“否”值时,两个下拉菜单将灰显 我的问题在于,当用户选择“否”单选按钮时,它会将其保存到mysql,但当他/她重新登录时,单选按钮会正确地处于“否”位置,但是这两个下拉菜单并没有像应该的那样变灰。如果我单击“否”单选按钮,它们将变灰 我显然不希望这样,如果用户选择“否”,然后重新登录,我希望在登录时下拉菜单变灰 php代码:Php 单选按钮-从Db读取预选值,php,jquery,mysql,radio-button,Php,Jquery,Mysql,Radio Button,我有一个单选按钮,它从mysql读取值并成功地突出显示正确的单选按钮。 我还进行了jquery验证,当单选按钮处于“否”值时,两个下拉菜单将灰显 我的问题在于,当用户选择“否”单选按钮时,它会将其保存到mysql,但当他/她重新登录时,单选按钮会正确地处于“否”位置,但是这两个下拉菜单并没有像应该的那样变灰。如果我单击“否”单选按钮,它们将变灰 我显然不希望这样,如果用户选择“否”,然后重新登录,我希望在登录时下拉菜单变灰 php代码: <?php $row2 = "SELECT * FR
<?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);
?>
单选按钮代码:
<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>
有两个下拉菜单称为“颜色和阴影”,当页面加载时,jQuery会触发onclick处理程序:
$(document).ready(function(){
$("input[name=attendance]:checked").triggerHandler('click');
});
因此,您的总代码将如下所示:
<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=attendance]:checked").triggerHandler('click');
});
</script>
你需要在你的头脑中添加一些类似的东西,这样当页面加载时它就会自动被禁用。我相信您可以为id找到一个合适的值
您可以禁用PHP中的下拉列表,但这不是一个好主意,因为禁用JavaScript会让人上当。您是禁用PHP中的下拉列表还是仅在JavaScript中禁用下拉列表?您需要显示更多代码。我使用jquery。已使用jquery的源代码进行编辑。我认为问题不在于jquery,因为如果我实际选择“否”,它就会工作。但是,当从mysql导入“否”时,直到我自己单击“否”时,它才起作用。我以前尝试过这个方法,但由于某些原因它不起作用:你在代码中放了这个吗?您确定要在“单击”功能绑定后添加它吗?抱歉,不知道接受情况,这是新的。我已经编辑了上面的jquery以显示我的位置,谢谢您不应该重新包含。。。这只需要添加一次,所以我稍微修改了代码。删除包含的重复库并使用新代码。
<script>
$(document).ready(function () {
$("#colour" + id + ", #shade" + id).prop("disabled", this.value == 'No');
});
</script>