Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript更改选项标记上的“selected”属性_Javascript_Html - Fatal编程技术网

如何使用javascript更改选项标记上的“selected”属性

如何使用javascript更改选项标记上的“selected”属性,javascript,html,Javascript,Html,我正在为在线订单创建一个web表单。我想使用javaScript将选择框默认为当前月份,但它似乎对我不起作用,我也不知道为什么。我不熟悉javascript,但我想我已经解决了这个问题。我是遗漏了什么还是误解了什么? 以下是HTML: <label for="orderMonth">Month</label> <select name="month" id="orderMonth" onchange="setselect()">

我正在为在线订单创建一个web表单。我想使用javaScript将选择框默认为当前月份,但它似乎对我不起作用,我也不知道为什么。我不熟悉javascript,但我想我已经解决了这个问题。我是遗漏了什么还是误解了什么? 以下是HTML:

<label for="orderMonth">Month</label>
            <select name="month" id="orderMonth" onchange="setselect()">
                <option value="01" id="m0">January</option>
                <option value="02" id="m1">February</option>
                <option value="03" id="m2">March</option>
                <option value="04" id="m3">Aprl</option>
                <option value="05" id="m4">May</option>
                <option value="06" id="m5">June</option>
                <option value="07" id="m6">July</option>
                <option value="08" id="m7">August</option>
                <option value="09" id="m8">September</option>
                <option value="10" id="m9">October</option>
                <option value="11" id="m10">November</option>
                <option value="12" id="m11">December</option>
            </select>
下面是我第一次尝试的脚本:

<script>
        var month = getMonth();
        var opt = document.getElementById("m"+month);
        opt.setAttribute("selected");
    </script>
<script>
        var month = getMonth();
        if (month == 0) {
            document.getElementById("m0").selected = true;}
        else if (month == 1) {
            document.getElementById("m1").selected = true;}
        else if (month == 2) {
            document.getElementById("m2").selected = true;}
        else if (month == 3) {
            document.getElementById("m3").selected = true;}
        else if (month == 4) {
            document.getElementById("m4").selected = true;}
        else if (month == 5) {
            document.getElementById("m5").selected = true;}
        else if (month == 6) {
            document.getElementById("m6").selected = true;}
        else if (month == 7) {
            document.getElementById("m7").selected = true;}
        else if (month == 8) {
            document.getElementById("m8").selected = true;}
        else if (month == 9) {
            document.getElementById("m9").selected = true;}
        else if (month == 10) {
            document.getElementById("m10").selected = true;}
        else if(month == 11) {
            document.getElementById("m11").selected = true;}
    </script>
第二种方法是:

<script>
        var month = getMonth();
        var opt = document.getElementById("m"+month);
        opt.setAttribute("selected");
    </script>
<script>
        var month = getMonth();
        if (month == 0) {
            document.getElementById("m0").selected = true;}
        else if (month == 1) {
            document.getElementById("m1").selected = true;}
        else if (month == 2) {
            document.getElementById("m2").selected = true;}
        else if (month == 3) {
            document.getElementById("m3").selected = true;}
        else if (month == 4) {
            document.getElementById("m4").selected = true;}
        else if (month == 5) {
            document.getElementById("m5").selected = true;}
        else if (month == 6) {
            document.getElementById("m6").selected = true;}
        else if (month == 7) {
            document.getElementById("m7").selected = true;}
        else if (month == 8) {
            document.getElementById("m8").selected = true;}
        else if (month == 9) {
            document.getElementById("m9").selected = true;}
        else if (month == 10) {
            document.getElementById("m10").selected = true;}
        else if(month == 11) {
            document.getElementById("m11").selected = true;}
    </script>

有人想知道吗?

您必须创建一个新的日期对象来计算月份。请查看下面的代码:

var today=新日期; var month=today.getMonth; 如果月份==0{ document.getElementByIdm0.selected=true;} 如果月份==1,则为else{ document.getElementByIdm1.selected=true;} 如果月份==2,则为else{ document.getElementByIdm2.selected=true;} 如果月份==3,则为else{ document.getElementByIdm3.selected=true;} 如果月份==4,则为else{ document.getElementByIdm4.selected=true;} 如果月份==5,则为else{ document.getElementByIdm5.selected=true;} 如果月份==6,则为else{ document.getElementByIdm6.selected=true;} 如果月份==7,则为else{ document.getElementByIdm7.selected=true;} 如果月份==8,则为else{ document.getElementByIdm8.selected=true;} 如果月份==9,则为else{ document.getElementByIdm9.selected=true;} 如果月份==10,则为else{ document.getElementByIdm10.selected=true;} 如果月份==11{
document.getElementByIdm11.selected=true;}如果更改以下内容,代码将正常工作:

var month = getMonth();

但是,由于月号与选项索引匹配,您只需将select的selectedIndex设置为月号:

window.onload=函数{ document.getElementById'orderMonth'。selectedIndex=new Date.getMonth; } 月 一月 二月 前进 Aprl 也许 六月 七月 八月 九月 十月 十一月 十二月
我认为该设置被选中,而不是真的。@Nownens2不,不是。@RobG你说得对。我的brainfart,将它与html设置相融合。我更正了js,并将“true”改为“selected”。尽管它仍然没有我想要的效果。如果代码起作用,则当应为6月份时,页面仍以1月份作为默认选项呈现。我目前在我的标题中有这个带有脚本标记的代码。这里还有什么我遗漏的吗?代码对我来说很好。我没有任何错误,月份是六月。检查脚本是否位于body元素的底部。啊,就是这样!非常感谢。