2012-04-01 50 views
0

我想选择基于php变量值的选项。所以我需要option value=1被选中第一个<select>option value=6第二个选中。因为我在表格中有一堆其他的<select>,我最终会得到一些有价值的php数组,并且我需要每个值与匹配<select>的一组<select>中的相应索引下的选项值相匹配class='si_1',并将selected分配给该选项。通过php变量来选择正确的选项

感谢

PHP的一部分

<?php 
$select_1 = "1"; 
$select_2 = "6"; 
?> 

JQuery的部分

$(document).ready(function(){ 
    var sel_class = $(".si_1"); 
    var array = {"<?php echo $select_1?>","<?php echo $select_2?>"}; 
    JQuery.each(array, function(index, value) { 
     var current = sel_class.get(index); 
     $(current + " option[value=" + value + "]").attr('selected', 'selected'); 
    }); 
}); 

我不知道,如果是$(current + " option[value=" + value + "]")正确的语法为目标的<select>index in $(".si_1")option其中option attribute value有价值在index in array

HTML部分

<select class="si_1"> 
    <option value="1">Test 1</option> 
    <option value="3">Test 3</option> 
    <option value="5">Test 5</option> 
    <option value="7">Test 7</option> 
</select> 
<select class="si_1"> 
    <option value="2">Test 2</option> 
    <option value="4">Test 4</option> 
    <option value="6">Test 6</option> 
    <option value="8">Test 8</option> 
</select> 

回答

1

您可以在JavaScript这样做:

selectedVal1 = "<?= $select_1; ?>"; 
selectedVal2 = "<?= $select_2; ?>"; 

当客户端在它看来,这将是这样的:

selectedVal1 = "1"; 
selectedVal2 = "6"; 

然后,它的只需使用jQuery将selected属性设置为selected(只需执行.attr('selected','selected'))

+1

'''标签在大多数情况下(可能有例外)只是一个更简洁的方式来编写'',如果您不知道的话。 – 2012-04-01 19:24:14

+0

你能否再次看看我的代码,因为我不小心放错了代码。我有点需要阵列中的所有东西,所以我可以循环它们。是的,我知道''是另一种编写'echo'的方式,只是看起来我的wamp服务器上的php 5.3不支持。谢谢 – lusketeer 2012-04-01 19:28:36

+0

对不起,你能发布页面上JavaScript的样子吗? – 2012-04-02 11:35:49