如何获得下拉列表的默认值?

时间:2013-12-16 19:25:45

标签: javascript html

如何获得复选框和下拉菜单的defaultValuevalue?对于textbox和textarea,我使用:

HTML:

<input type="text" id="txtbox_id" class="input-text" />
<input type="checkbox" id="checkbox1" />
<br />
<select id="select" name="select">
    <option value="Yes">Yes</option>
    <option value="No">No</option>
</select>

使用Javascript:

function check() {
    var default1    = document.getElementById("txtbox_id").defaultValue;
    var change1     = document.getElementById("txtbox_id").value;
    var default2    = document.getElementById("checkbox1").defaultValue;
    var change2     = document.getElementById("checkbox1").value;
    var default3    = document.getElementById("select").defaultValue;
    var change3     = document.getElementById("select").value;
    if (change1 == default1 && change2 == default2 && change3 == default3) {
        alert('Not Changed!');
    } else {
        alert('Changed!');
    }
}

我正在使用它来检查表单中的值是否已更改。但是当我使用此代码检查复选框和下拉列表时,我收到错误。请建议我采用正确的方法来实现这一目标。

2 个答案:

答案 0 :(得分:4)

检查他们的属性。当用户修改表单时,它会影响属性,但属性保持不变。

var checkbox_defaultChecked = document.getElementById('some_checkbox').getAttribute("checked");

选择有点困难:

var selectbox_defaultOption = document.querySelector("#some_dropdown option[selected]");

请注意,旧浏览器需要垫片或更复杂的代码。

答案 1 :(得分:0)

表示复选框:

//检查是否选中了复选框,并返回truefalse

var default_checked = document.getElementById("checkbox_id").defaultChecked;
var checked_change  = document.getElementById("checkbox_id").checked;

下拉列表:

//这会获取默认值并更改下拉列表的值

var select_  = document.querySelector('select[id="dropdown_id"] option[selected]');
var default_ = select1.value;
var change_  = document.getElementById("os_cd").value;