2013-02-14 2 views
0

У меня есть очень простая задача, но я не могу понять, как это сделать ... В моей HTML страницы, у меня есть простой выберите тег:Как изменить выбранный вариант выбора с помощью JavaScript?

<select id="selection-type"> 
    <option disabled="disabled">Type</option> 
    <option value="0">Tous les types</option> 
    <option value="1">Appartement</option> 
    <option value="2">Maison</option> 
    <option value="3">Terrain</option> 
</select> 

Я хочу, чтобы установить конкретный динамически используя JavaScript, но мне просто удалось изменить выбранный индекс, а не отображаемое значение. В настоящее время я делаю это (в разделе колонтитула моей HTML страницы):

<script type="text/javascript"> 
    $(document).ready(function(){ 
    document.getElementById("selection-type").selectedIndex = 2; 
}); 
</script> 

И в результате, это изменить выбранный индекс моего выбора, но отображается текст не «обновление»: значение «Tous les types» остается. Фактически, я хочу изменить весь выбор, например. выбранный вариант, а не только индекс.

+0

Если вы используете jquery, вы, очевидно, используете javascript уже, нет необходимости редактировать тег и добавлять его (это примечание к другому редактору) – Toping

ответ

1

Похоже, вы используете jQuery. Вы можете использовать val метод JQuery, чтобы изменить поле выбора, используя value опции вы хотите выбрать:

$(document).ready(function() { 
    $('#selection-type').val('1'); 
}); 

Или вам нужно, чтобы это было сделано в простом JavaScript?

Edit:

Какой браузер вы используете? selectedIndex вещь, которую вы делаете, действительно работает для меня в Chrome 24.0.1312.5.

+0

Я пробовал первое решение, и оно не работает. Я использую firefox для тестов, но мой webiste будет мобильным сайтом, поэтому будет здорово, если он будет работать в Safari. Метод с выбраннымIndex просто изменяет выбранный индекс и не изменяет значение, которое появляется при выборе, когда оно разворачивается. – DaveLeGO

+0

Итак, вы хотите изменить текст определенного параметра, а не выбранную опцию выбора? Например, измените текст «Appartement» на что-то еще? – matts

1

Вы пробовали:

document.getElementById("selection-type").value = document.getElementById("selection-type").selectedIndex.value; 
+0

Я только что попробовал, и это не работает для меня. – DaveLeGO

0

Наконец, у меня найти способ, чтобы заставить его работать. Я до сих пор использую мой первый метод, но я выполнить его перед $ (документ) .ready:

<script type="text/javascript"> 
    document.getElementById("selection-type").selectedIndex = 2; 
    $(document).ready(function() { 
     ... 
    }); 
</script> 

Я не понимаю, почему именно .. но это работа. Большое спасибо.