Click to See Complete Forum and Search --> : PHP drop down list copy values with javascript


bengt
10-13-2004, 07:13 AM
I have this SQL table

CREATE TABLE `kursnavn` (
`id` int(5) NOT NULL auto_increment,
`lagid` int(5) NOT NULL default '0',
`kursnavn` varchar(255) NOT NULL default '',
`autorisasjon` int(2) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=44 ;


This code is using the data in this table

$sql = "SELECT * FROM kursnavn ORDER BY kursnavn";
$result = mysql_query($sql) or die(mysql_error());
echo "<SELECT name=kursnavnid onchange=kursnavn()><OPTION VALUE=0>Velg kurs fra listen</OPTION>";
while ($kn = mysql_fetch_array($result)) {
echo "<option value=\"{$kn[id]}\" other=\"4\">{$kn[kursnavn]}</option>\n";
}
echo "<option value=annet>Annet - Kun hvis du ikke finner ditt kurs i denne listen</option>";
echo "</select>";kursnavn";
Is there anyway to copy the value in {autorisasjon} from the table to another input field in my form when that row is selected in the drop down list?


---
Bengt Danielsen

blechler
10-13-2004, 03:23 PM
<html>
<head>
<title> New Document </title>
<script language="JavaScript">
function objThingy() {
this.id = arguments[0];
this.lagid = arguments[1];
this.kursnavn = arguments[2];
this.autorisasjon = arguments[3]
}

myObj = new Array();
<?
$sql = "SELECT * FROM kursnavn ORDER BY kursnavn";
$result = mysql_query($sql) or die(mysql_error());
while ($kn = mysql_fetch_array($result)) {
print "myObj[".$kn[id]."] = new objThingy(".$kn[id].", ".$kn[lagid].", '".$kn[kursnavn]."', ".$kn[autorisasjon].");\n";
}
?>

function init() {
document.frmFoo.kursnavnid.options[0] = new Option("Velg kurs fra listen", 0);
for (var i=0; i<myObj.length; i++) {
if(myObj[i]) {
document.frmFoo.kursnavnid.options[document.frmFoo.kursnavnid.options.length] = new Option(myObj[i].kursnavn, myObj[i].id);
}
}
document.frmFoo.kursnavnid.options[document.frmFoo.kursnavnid.options.length] = new Option("Annet - Kun hvis du ikke finner ditt kurs i denne listen", "annet");
}

function handleChange(selectedId) {
if ((!isNaN(selectedId)) && (selectedId > 0)) {
document.frmFoo.autorVal.value = myObj[selectedId].autorisasjon;
} else {
document.frmFoo.autorVal.value = "";
}
}
</script>
</head>

<body onload="init()">
<form name="frmFoo">
<input type="text" name="autorVal" />
<SELECT name="kursnavnid" onchange="handleChange(this.options[this.selectedIndex].value)"></select>
</form>
</body>
</html>

bengt
10-14-2004, 02:00 AM
Thanx... works like a charm...

One tiny problem, It won't sort by kursnavn...
Even if ORDER BY kursnavn is present...

Bengt

bengt
10-14-2004, 05:54 AM
...And just to put this further, I would like to disable the autorVal field. But enable it if 'annet' is selected.

I figured this out myself