свойство "defaultValue" для?
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
является логическим, а не значением, так что это не работает.
спасибо!
8 ответов
вероятно, вы хотите посмотреть атрибут "defaultSelected" элементов "option".
первоначально " defaultSelected "будет true, если исходный HTML тега опции имел явный атрибут" selected". Вы можете изменить это, установив атрибут в тегах опций с помощью Javascript после загрузки страницы в ответ на любые условия.
с Jquery мы можем сделать sth так:
$('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);
}
может быть несколько "выбранных" элементов опции, в этом случае выберите первый, Если никакие другие требования не установлены. @Pointy tip верен, но имейте в виду, что свойство" defaultValue " может быть перезаписано другим кодом на той же странице. Если бы это было только для чтения, это было бы более полезно : -)
Я запускаю это при загрузке страницы, чтобы вручную установить значение 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;
});