javascript - 如何获取下拉列表的默认值?

标签 javascript html

如何获取复选框和下拉列表的 defaultValuevalue?对于我使用的文本框和文本区域:

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!');
    }
}

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

最佳答案

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

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

选择有点难:

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

请注意,对于旧版浏览器,您将需要填充程序或更复杂的代码。

关于javascript - 如何获取下拉列表的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20619180/

相关文章:

javascript - jQuery .find() 在 IE 中不返回数据,但在 Firefox 和 Chrome 中返回数据

javascript - 在 ngFor 循环中使用 Object.keys 时如何设置默认值?

javascript - HTML5 音频 : Using both oncanplay and oncanplaythrough events for audio

html - 在 <select> 元素中隐藏垂直滚动条

javascript - 为从特定 URL 进入的用户更改页面元素

javascript - 使用 "call"时如何确定链式函数的执行方式?

javascript - 为什么我的排列算法对所有排列给出相同的结果?

javascript - 将数据从弹出窗口发送到 extension.js 不起作用

html - 导航栏中多个元素的垂直对齐不起作用

html - 在 HTML 页面中嵌入本地 PDF