2015-04-16 141 views
0

你好,这是我当前的代码:选择选项值的onchange

<select id="link_course"> 
<option value="">Select Course</option> 
<option value="ALL">ALL</option> 
<option value="BSIT" selected>BSIT</option> 
<option value="BSA">BSA</option> 
<option value="BSBA">BSBA</option> 
<option value="BSHRTM">BSHRTM</option> 
</select> 

<script> 
    $("#link_course").change(function() 
      { 
       document.location.href = "home.php?course=" + $(this).val(); 

     }); 
</script> 

如果你点击任何这些选项,例如BSBA,它会去home.php当然= BSBA,并且还可以看到selected属性位于BSIT选项上。我想要做的是每当我点击另一个链接,例如BSHRTM,selected属性将会转到BSHRTM,就像它会是<option value="BSHRTM" selected>BSHRTM</option>。有什么想法吗?

+0

所以,你要第一个链接会去'home.php?当然= Link_value'和第二个应该只'linkvalue'? – Manwal

+3

不清楚..你在问什么?解释更多 –

+0

@Manwal我想获得像当前$ _GET ['course']的课程,然后将该属性设置为当前所选课程的选项 – FewFlyBy

回答

1

您可以通过JavaScript做的选择:

function getQueryVariable(variable) 
{ 
     var query = window.location.search.substring(1); 
     var vars = query.split("&"); 
     for (var i=0;i<vars.length;i++) { 
       var pair = vars[i].split("="); 
       if(pair[0] == variable){return pair[1];} 
     } 
     return(false); 
} 

if(getQueryVariable('course') != false) { 
    $('#link_course option[value="' + getQueryVariable('course') + '"]').prop('selected', true); 
} 

Reference

+0

这就是我正在寻找的对于。谢谢! – FewFlyBy

0

加载新页面后,您需要运行JavaScript代码以在列表中正确的项目上设置值。

+0

如何做到这一点? – FewFlyBy

+0

由于您已经在使用JQuery,您是否尝试过在页面加载时搜索有关运行代码的信息?谷歌是你的朋友:) – MeanGreen

0

使用window.location.href获取当前URL。然后检查用户当前正在打开哪个页面,最后选择相应的选项。

if(window.location.href.indexOf('home.php?course=BSHRTM)') != -1) { 
    $('select#link_course option[value=BSHRTM]').attr("selected","selected"); 
} 

为了避免重复代码见Parse query string in JavaScript

0

你应该这样做在PHP:

<option value="BSHRTM" <?php if($course == 'BSHRTM') echo 'selected';?>> 

假设你previsously设置$course = $_GET['course'];

+1

请回答你如何获得$课程。使用$ _GET方法 –

+0

你可以这样做$ _GET ['course'] – xAqweRx

+0

这会工作,但它看起来很脏我想 – FewFlyBy