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 = 21 Oak St.
$(myInput).val('51 New St'); // wipe default and set new
// alerts 21 Oak St
alert($(myInput).val($(myInput)[0].defaultValue));
如何在选择中完成此操作?
selectedIndex
是布尔值,而不是值,因此不起作用。
谢谢!
答案 0 :(得分:16)
您可能希望查看“option”元素的“defaultSelected”属性。
最初,如果option标签的原始HTML具有明确的“selected”属性,则“defaultSelected”将为true。您可以通过在页面加载后使用Javascript在选项标签上设置属性来更改它,以响应您喜欢的任何条件。
答案 1 :(得分:6)
这是适合我的jquery:
$('select[name="name_of_select"] option[selected]').val()
答案 2 :(得分:5)
使用Jquery,我们可以这样做:
$('select[name="type_id"] option').map(function()
{
if($(this).attr('defaultSelected')==true) return this
}).get(0).value;
这将返回默认的Selected选项值 :)
答案 3 :(得分:1)
我使用以下内容循环浏览论坛,检查其默认值及其当前值。
如果脚本跨越单个选择框,它将遍历选择框上的子项。
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);
}
答案 4 :(得分:0)
可能有多个“已选择”选项元素,在这种情况下,如果没有设置其他要求则选择第一个。 @Pointy提示是正确的,但要注意“defaultValue”属性可以被同一页面中的其他代码覆盖。如果它是只读的,那将更有用: - )
答案 5 :(得分:0)
我找到了最简单的方法:
$('select#myselect').find('option[defaultSelected]');
答案 6 :(得分:0)
我在页面加载时运行此操作以手动设置选择框的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);
}
});
答案 7 :(得分:0)
最简单的方法是:
$('#selectbox option').prop('selected', function() {
return this.defaultSelected;
});