我试图选择名为" Type"的下拉列表的值,它等于PHP变量的值" $ Type"通过使用Javascript。我知道有一个" selectindex" JS中的功能,但" $ Type"并不包含仅限数字的文字。
我尝试使用我在此网站上找到的循环,但这对我没用。
PHP:
; 1_256_1_256 is defined if we are good
!define $1_256_$2_256
!define $1_256_1_$2
!define 1_$1_1_$2
!define 1_$1_$2_256
!ifdef 1_256_1_256
message mb_ok "All good"
!else
message mb_ok "Failure detected"
!endif
HTML + JS:
while(list($ArtikelID, $Type) = mysql_fetch_array($result))
{
$arid = $ArtikelID;
$te = $Type;
}
我没有使用Ajax或Jquery,这就是我尝试使用循环的原因。但它出于某种原因并不起作用。加载时,下拉列表仍会选择默认的第一个选项。
答案 0 :(得分:1)
你可以这样做,使用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>
答案 1 :(得分:0)
index
中引用的selectedIndex
选择菜单是一个整数,指的是菜单中的选项项索引 - 而不是其中包含的值。
对于javascript,请尝试:
if( sel.options[ sel.options.selectedIndex ].value === val ){
sel.selectedIndex = i;
break;
}
答案 2 :(得分:0)
根本不需要for循环,而是(基于this):
window.onload = function SelectType()
{
var sel = document.getElementById('Type');
var val = document.getElementById('<?php echo $te; ?>');
sel.value = val;
}
这需要在选项中显示val。