[英]Option selected value onchange
Hello this is my current code: 您好,这是我当前的代码:
<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>
If you click any of those options, for example BSBA, it will go to home.php?course=BSBA, and also you can see that the selected
attribute is on the option BSIT. 如果单击其中任何一个选项(例如BSBA),它将转到home.php?course = BSBA,并且您还可以看到
selected
属性位于BSIT选项上。 What I wanted to do is whenever I click another link, for example BSHRTM, the selected
attribute will go to BSHRTM like it would be <option value="BSHRTM" selected>BSHRTM</option>
. 我想要做的是每当我单击另一个链接(例如BSHRTM)时,
selected
属性都将进入BSHRTM,就像<option value="BSHRTM" selected>BSHRTM</option>
。 Any thoughts? 有什么想法吗?
You can do selection via JavaScript : 您可以通过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);
}
加载新页面后,您需要运行JavaScript代码以在列表中的正确项目上设置值。
Use window.location.href
to get current URL. 使用
window.location.href
获取当前URL。 Then check on which page is user currently on and finally select corresponding option. 然后检查用户当前在哪个页面上,最后选择相应的选项。
if(window.location.href.indexOf('home.php?course=BSHRTM)') != -1) {
$('select#link_course option[value=BSHRTM]').attr("selected","selected");
}
To avoid code duplication see Parse query string in JavaScript 为避免代码重复,请参阅在JavaScript中解析查询字符串
You should do it in PHP: 您应该在PHP中执行此操作:
<option value="BSHRTM" <?php if($course == 'BSHRTM') echo 'selected';?>>
Supposing that you previsously set $course = $_GET['course'];
假设您预先设置了
$course = $_GET['course'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.