的“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; });