2015-04-16 184 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