的“defaultValue”属性?
Javascript具有textObject.defaultValue=somevalue
用于检索输入的默认值(来自页面加载的存储值),即使您擦除输入并替换内容,仍然可以返回默认值。 像这样:
// in the html page // the jquery myInput = $("#addr1"); // the input, default value on page load = 21 Oak St. $(myInput).val('51 New St'); // wipe default and set new // alerts 21 Oak St alert($(myInput).val($(myInput)[0].defaultValue));
你如何在选择中实现这一目标?
selectedIndex
是布尔值,而不是值,因此不起作用。
谢谢!
您可能希望查看“option”元素的“defaultSelected”属性。
最初,如果选项标签的原始HTML具有明确的“选定”属性,则“defaultSelected”将为true。 您可以通过在页面加载后使用Javascript在选项标签上设置属性来更改它,以响应您喜欢的任何条件。
这是适合我的jquery:
$('select[name="name_of_select"] option[selected]').val()
和Jquery一样,我们可以这样做:
$('select[name="type_id"] option').map(function() { if($(this).attr('defaultSelected')==true) return this }).get(0).value;
这将返回默认的Selected选项值:)
我使用以下内容遍历论坛,检查其默认值及其当前值。
如果脚本跨越单个选择框,它将遍历选择框上的子项。
oFormObject = document.forms[0]; for(i=0; i
可能有多个“选定”选项元素,在这种情况下,如果没有设置其他要求则选择第一个。 @Pointy提示是正确的,但要注意“defaultValue”属性可以被同一页面中的其他代码覆盖。 如果它是只读的,那将更有用:-)
我找到了最简单的方法:
$('select#myselect').find('option[defaultSelected]');
我在页面加载上运行此操作以手动设置选择框的defaultValue。
// Set a default value property on selectboxes (for reverting) $('select').each(function(index,ele) { var origvalue = $(this).val(), defaultvalue = $(this).prop('defaultValue'); // If the default value hasn't already been set for this selectbox if(!defaultvalue) { $(this).prop('defaultValue', origvalue); } });
最简单的方法是:
$('#selectbox option').prop('selected', function() { return this.defaultSelected; });