0
我有一个从mySQL数据库使用PHP填充的下拉列表。如何预先选择下拉菜单中的第一个选项,记住这些值可能不总是相同的?在动态填充的下拉列表中预先选择第一个选项
这是我的HTML代码:
function loadparameters(selobj, url, nameattr) {
$(selobj).empty();
$.getJSON(url, {}, function (data) {
$.each(data, function (i, obj) {
$(selobj).append($("</option><option>
</option>").val(obj[nameattr]).html(obj[nameattr]));
});
});
}
$(function() {
loadparameters($('select#parameterType').get(0),
'GetParameter.php?GetParameter=parameterType', 'parameterType');});
..和PHP脚本:
<?php
if(!empty($_GET['GetParameter']))
{
$list = $_GET['GetParameter'];
$qry='';
switch($list)
{
case 'parameterType':
{
$qry = "SELECT parameterType FROM Parameters";
break;
}
}
if(empty($qry)){ echo "invalid params! "; exit; }
$dbconn = mysql_connect('*******','*******','******')
or die("DB login failed!");
mysql_select_db('*****', $dbconn)
or die("Database does not exist! ".mysql_error($dbconn));
$result = mysql_query($qry,$dbconn)
or die("Query $qry failed! ".mysql_error($dbconn));
$rows = array();
while($rec = mysql_fetch_assoc($result))
{
$rows[] = $rec;
}
mysql_free_result($result);
mysql_close($dbconn);
echo json_encode($rows);
}
?>
作为轻微的替代:'变种选项= $( '',{文本:OBJ [ 'nameattr']})。appendTo(selobj );' – 2013-03-13 22:11:50
我也喜欢你的语法,在这种情况下更有意义 – 2013-03-13 22:21:14
谢谢。我原本有这样的声明:function loadparameters(selobj,url,nameattr){$(selobj).empty(); $。getJSON(url,{},function(data){$(selobj).append('”).val(obj [nameattr])。html(obj [ nameattr]));});});}并且当我删除它时忘记取消关闭选项标记。 – Newbie 2013-03-13 22:31:43