This sample demonstrates how to use the DynAPI to create a 100% DHTML-based ComboBox with images.
Here's how this project works:
<script language="JavaScript">
var nc;
var cmbSelected = -1;
var cmbOp = new Array();
var cmbOpI = new Array();
var idx = 0;
var tbi;
dmbAPI_Init();
dmbAPI_addGroup("Products");
tbi = dmbAPI_getItemByCaption("selItem");
dmbAPI_setOnClick(tbi, "Products", '', true, 0);
<?
mysql_connect("localhost","db_user","db_password");
mysql_select_db("xfx_soft_data");
$q = mysql_query("select * from products;");
$t = mysql_num_rows($q);
$i = 0;
while($i < $t) {
?>
cmbOp[idx] = "<? echo mysql_result($q, $i, "Name"); ?>";
cmbOpI[idx] = "<? echo mysql_result($q, $i, "Icon"); ?>";
if(cmbOpI[idx]=="") cmbOpI[idx] = "blank.gif";
nc = dmbAPI_addCommand("Products", cmbOp[idx]);
dmbAPI_setImageLeftNormal(nc, "/menu/images/" + cmbOpI[idx], 16, 16);
dmbAPI_setOnClick(nc, "javascript:cmbSelect(" + idx + ")");
idx++;
<?
$i++;
}
?>
function cmbSelect(n) {
var j;
for(var i=0; i<idx; i++) {
j = dmbAPI_getItemByCaption(cmbOp[i], mFrame, "Products");
if(i==n)
dmbAPI_setColor(j, "#FFFFFF", "#0000FF", "#FFFFFF", "#0000FF");
else
dmbAPI_setColor(j, "#000000", "#FFFFFF", "#FFFFFF", "#0000FF");
}
dmbAPI_setCaption(tbi, cmbOp[n]);
dmbAPI_setImageLeftNormal(tbi, "/menu/images/" + cmbOpI[n]);
cmbSelected = n;
}
cmbSelect(0);
</script>