使用javascript选择等于php变量的下拉值

时间:2015-10-15 09:55:15

标签: javascript php drop-down-menu

我试图选择名为" 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,这就是我尝试使用循环的原因。但它出于某种原因并不起作用。加载时,下拉列表仍会选择默认的第一个选项。

3 个答案:

答案 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。