选项选择值onchange

时间:2015-04-16 11:39:38

标签: javascript jquery

您好,这是我目前的代码:

<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?course = BSBA,并且您还可以看到selected属性位于选项BSIT上。我想要做的是每当我点击另一个链接时,例如BSHRTM,selected属性将转到BSHRTM,就像<option value="BSHRTM" selected>BSHRTM</option>一样。有什么想法吗?

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

使用window.location.href获取当前网址。然后检查用户当前所在的页面,最后选择相应的选项。

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

要避免代码重复,请参阅Parse query string in JavaScript

答案 3 :(得分:0)

你应该用PHP来做:

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

假设您之前已设置$course = $_GET['course'];