2017-02-10 3 views
2

Я знаю, что это основной вопрос, но я уже много искал, и я не нашел ответа на это. Мне просто нужно сбросить поля.Сбросить выбранный атрибут опции выбора

Итак, у меня есть класс php (classMenu.php), который генерирует html-форму для моей главной страницы. Чтобы получить последние выбранные опции, я мимо $ _POST в качестве аргумента, когда я называю мой classMenu.php так:

mainPage.php

new menu("mainPage.php", $_POST); 

classMenu.php

<select class="selectpicker" id="eventType" title="Event Type" name="eventType" data-width="150px" data-live-search="true" data-actions-box="true"> 
    <option value="workshop" 
<?php 
    $this->isSelected("eventType", "workshop") 
?> 
    >Workshop</option> 
    <option value="master" <?php $this->isSelected("eventType", "master") ?>>Master</option> 
    <option value="webinar" <?php $this->isSelected("eventType", "webinar") ?>>Webinar</option> 
    </select> 

И вот моя функция isSelected ($ setValues ​​= $ _POST par ameter):

private function isSelected($field, $value){ 
if(isset($this->setValues[$field]) && $this->setValues[$field] == $value){ 
    echo "selected"; 
    } 
} 

Я уже пробовал эти варианты для моего яваскрипта кода:

function resetSelect() { 
    $('#eventType').prop('selectedIndex', 0); 
}; 

function resetSelect() { 
    document.getElementById('eventType')[0].selectedIndex = 0; 
}; 

function resetSelect() { 
    $("#eventType").val(''); 
}; 

function resetSelect() { 
    $('select').each(function(){ 
    $(this).find('option:selected').prop('selected', false); 
    }); 
}; 

function resetSelect() { 
    $('select').each(function(){ 
    $(this).find('option:selected').removeAttr('selected'); 
    }); 
}; 

Я надеюсь, что мой вопрос ясен для вас.

Благодаря

+0

вы пробовали '$ ("# типСобытия") Вал ('') ' – Satpal

+0

@Satpal Да, я уже пробовал это, но ничего не произошло:/ Спасибо, в любом случае, – scabiati

ответ

0

Как я вижу это, я хотел бы использовать:

$('option:selected').removeAttr('selected');

Если у вас есть несколько выбрать то:.

$('.selectpicker').each(function(){ 
    $(this).find('option:selected').removeAttr('selected'); 
}); 
$('.selectpicker').prop('selectedIndex', 0); 
$('.selectpicker').selectpicker('refresh'); 

Вы можете использовать также

$('option:selected').prop('selected', false)

+0

Я пробовал код, но ничего не изменилось на данный момент:/ Спасибо, что помогли – scabiati

1

JQuery: Prop selectedIndex до 0:

$('#eventType').prop('selectedIndex', 0);

Если использовать JavaScript:

document.getElementsById('eventType')[0].selectedIndex = 0

+0

Я попробовал это сейчас, но ничего не изменил. Thanks – scabiati

+0

Есть ли сообщения об ошибках в консоли разработчика браузера? –

+0

У меня нет ошибок с кодом jquery в консоли. Я вызываю предупреждение в конце своей функции, и она всегда выполняется. – scabiati

Смежные вопросы