首先道歉,如果这是一个愚蠢的问题,我对javascript很新。
我有一个由我的组织CMS生成的选择框。我无法更改下拉列表的内容或其生成方式。然而,我想要做的是在加载页面时,根据特定值更改默认(或#34;选择")选项。另一个问题是在HTML中创建的选择下拉列表中已经设置了默认值。如果我实际上可以更改选择下拉选项的方式,我可以轻松创建一些javascript来设置默认选择,不幸的是我不能。我完全迷失了。任何帮助将不胜感激。
使用的代码:
我很遗憾无法改变这一点:
<select name="q528696:q1" id="q528696_q1" class="sq-form-field"><option value="0" selected="selected">Address adult language literacy and numeracy | 688</option>*More options here*</select>
这是使用的javascript。这非常简单:
<SCRIPT> window.onload=updateSelect();
function updateSelect() {
document.getElementById('q528696:q1').value=25;
};
</SCRIPT>
答案 0 :(得分:1)
使用JavaScript更改选定的选项非常简单。但是,我仍然会将其分解。 让我们从一个带有三个选项的简单下拉列表开始。 select标签的ID为&#34;更改&#34;。
<select id="change">
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
我们想要它,以便当我们按下按钮时#2; 2&#34;将是选定的选项,而不是&#34; One&#34;。我们将开始制作按钮并制作基本功能。
<input type="button" value="Change Selected Option" onclick="changeS()"/>
<script>
function changeS() {
}
</script>
在这个函数中,我们添加以下代码
document.getElementById('change').getElementsByTagName('option')[1].selected = true;
让我们来看看它在做什么。
首先,我们的目标是&#34;选择&#34;用 document.getElementById 标记。
然后我们得到标签名为&#34;选项&#34;的所有元素。在&#34;选择&#34;元素。
&#34; [1]&#34;意味着我们定位列表中的第二个选项。我们之所以拥有&#34; 1&#34;不是&#34; 2&#34;是因为JavaScript开始计数&#34; 0&#34;。如果我们想要定位第三个选项,我们会选择&#34; [2]&#34;。
在那之后,我们只是说我们希望select标签中的特定选项成为所选选项。
我希望它足够简单并且我的解释是值得的:)
答案 1 :(得分:0)
我正在回答这个问题:如何更改select元素选项的值?这是带有帮助的评论的代码。
<!--First we'll make a a select element with an option-->
<select>
<option value="Unchanged Value" id="1"></option>
</select>
<!--Now we'll create a button that'll display the value of this option. Refer to the "displayOptionValue" function down below to find out how this is done-->
<input type="button" onclick="displayOptionValue()" value="Display Option Value"/>
<<input type="button" onclick="changeOptionValue()" value="Change Option Value"/>
<!--Here's where the value will display-->
<p id="demo"/>
<script>
//This will get the option's value and display it in the "p" tag
function displayOptionValue() {
var x = document.getElementById("1").value;
document.getElementById("demo").innerHTML = x;
}
//Now we'll change the value
function changeOptionValue() {
document.getElementById("1").value = "Changed Value";
}
</script>
这就是我理解的问题。如果不是,请在评论中告诉我,我会发布另一个答案。此外,如果您在浏览器中运行代码,请首先按“显示选项值”,然后按“更改选项值”,然后再次按“显示选项值”以查看更改。再一次,如果这不是你的问题,请在评论中告诉我。