重置选择选项的所选属性

时间:2017-02-10 08:27:50

标签: javascript php jquery

我知道这是一个主流问题,但我已经搜索了很多,但我没有找到任何答案。 我只需要重置我的字段。

所以我有一个php类(classMenu.php)为我的主页生成一个html表单。 要获得最后选择的选项,当我像这样调用classMenu.php时,我将$ _POST作为参数:

  

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参数):

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

我已经为我的javascript代码尝试了这些选项:

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');
  });
};

我希望我的问题很明确。

由于

3 个答案:

答案 0 :(得分:1)

jQuery:道具selectedIndex为0:

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

如果使用javascript:

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

答案 1 :(得分: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)

答案 2 :(得分:-1)

此代码对我有用。 $('.multiselect-ui option').prop('selected', false).trigger('chosen:updated');