我试图使用Javascript选择下拉列表“ Type”的值,该值等于名为“ $ Type”的PHP变量的值。我知道JS中有一个“ selectindex”功能,但“ $ Type”不只包含数字文本。
我尝试使用在此站点上找到的循环,但这对我不起作用。
PHP:
while(list($ArtikelID, $Type) = mysql_fetch_array($result))
{
$arid = $ArtikelID;
$te = $Type;
}
HTML + JS:
<form name="send" method="post" action="editartticlesdef.php">
articlenumber: </br>
<input readonly="readonly" name="ArticleID" value=<?php echo $arid ?>></br>
Type: </br>
<select name="Type" id="Type">
<option value="Article">Article</option>
<option value="Code">Code</option>
<option value="News">News</option>
<option value="Project">Project</option>
</select></br>
<script>
window.onload = function SelectType()
{
var sel = document.getElementById('Type');
var val = document.getElementById('<?php echo $te; ?>');
for(var i = 0, j = sel.options.length; i < j; ++i)
{
if(sel.options[i].innerHTML === val)
{
sel.selectedIndex = i;
break;
}
}
}
</script>
</form>
我没有使用Ajax或Jquery,所以这就是我尝试使用循环的原因。但是由于某种原因,它不起作用。下拉菜单在加载时仍会默认选择第一个选项。
您可以使用PHP以这种方式进行操作。
<?php
$listArticle = array(
'Article',
'Code',
'News',
'Project'
);
?>
<select name="Type" id="Type">
<?php
foreach($listArticle as $article)
{
$selected = '';
if($article == $te)
{
$selected = 'selected="selected"';
}
echo '<option '.$selected.'>'.$article.'</option>';
}
?>
</select></br>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句