Javascript 的“defaultValue”属性?
Javascript具有textObject.defaultValue=somevalue,用于从输入的页面加载中检索默认值存储值,即使您擦除输入并替换内容,也可以恢复默认值。像这样:Javascript 的“defaultValue”属性?,javascript,jquery,dom,Javascript,Jquery,Dom,Javascript具有textObject.defaultValue=somevalue,用于从输入的页面加载中检索默认值存储值,即使您擦除输入并替换内容,也可以恢复默认值。像这样: // in the html page <input id="addr1" type="text" value="21 Oak St." /> // the jquery myInput = $("#addr1"); // the input, default value on page load
// in the html page
<input id="addr1" type="text" value="21 Oak St." />
// 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));
您如何在select上实现这一点
selectedIndex是布尔值,而不是值,因此不起作用
谢谢 您可能希望查看选项元素的defaultSelected属性
最初,如果选项标记的原始HTML具有显式的selected属性,则defaultSelected将为true。您可以通过在页面加载后使用Javascript在选项标签上设置属性来改变这一点,以响应您喜欢的任何条件。可能有多个选择的选项元素,在这种情况下,如果没有设置其他要求,请选择第一个@Pointy tip是正确的,但请注意defaultValue属性可能会被同一页面中的其他代码覆盖。如果是只读的,它会更有用:-使用Jquery,我们可以做如下事情:
$('select[name="type_id"] option').map(function()
{
if($(this).attr('defaultSelected')==true) return this
}).get(0).value;
这将返回默认的选定选项值
:我使用以下命令在论坛中循环,检查它们的默认值和当前值 如果脚本与单个selectbox交叉,它将循环遍历selectbox上的子项
oFormObject = document.forms[0];
for(i=0; i<oFormObject.elements.length; i++)
{
oValue = oFormObject.elements[i].value;
oType = oFormObject.elements[i].type;
if(oType=='select-one') {
for(k=0; k<oFormObject.elements[i].children.length; k++)
{
if(oFormObject.elements[i].children[k].defaultSelected==true){
oformElement = oFormObject.elements[i].children[k].value;
}
}
}else{
oformElement = oFormObject.elements[i].defaultValue;
}
console.log(oformElement);
console.log(oValue);
console.log(oType);
}
这是适合我的jquery:
$('select[name="name_of_select"] option[selected]').val()
我找到了一个最短的方法:
$('select#myselect').find('option[defaultSelected]');
我在页面加载时运行此命令,手动设置选择框的默认值
// 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;
});
我不认为selectedIndex是一个布尔值,它应该是一个整数,正如@Pointy所说的,如果你迭代选项,得到defaultSelected,你可以将selectedIndex设置为defaultSelected的索引。你需要对选项本身使用selected属性,你想成为默认值。继续走那条路。唯一的问题是如果没有选项设置了选定的HTML属性,它将返回未定义。但在这种情况下,默认值是第一个选项。