2015-04-28 4 views
1

У меня есть поле выбора:Как сбросить поле выбора после скрытия модального?

<select class="selectpicker" id="select_seleccionar_proyecto_id"> 
    <option value="0">Seleccione..</option> 
    <option value="1">Tarea número 1</option> 
    <option value="2">Tarea número 2</option> 
    <option value="3">Tarea número 3</option> 
    <option value="4">Tarea número 4</option> 
    <option value="5">Tarea número 5</option> 
    <option value="6">Tarea número 6</option> 
</select> 

поле выбора находится в модальном, и после того, как я закрываю модальных, то выберите поле остается последней выбранной опции в последний раз.

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

LimpiarModalTarea: function(){ 

    var self = this; 

    //My attempts: 
    /* 
    * $("select option[value='0']").attr("selected","selected"); 
    * $("select_seleccionar_proyecto_id").val($("select option[value='0']").val()); 
    * $("#target").val($("#select_seleccionar_proyecto_id option:first").val()); 
    * $("#select_seleccionar_proyecto_id option:first").val(); 
    */ 
}, 

Я положил предупреждение в LimpiarModalTarea и когда я закрыл модальность, предупреждение работа ... поэтому я знаю, что метод вызывается.

Любые предложения?

модальный изображение http://www.uppic.com/uploads/14302560911.jpg

EDIT:

Мне очень жаль, но я не упомянул, что работа с различными модулями.

В модуле «А» у меня есть метод, который содержит кнопку, которая открывает метод модального и опубликования:

Этот метод содержит HTML:

    +      
        '<a href="#myModal2" role="button" class="btn btn-success btn-sm" id ="btn_seleccionarTarea_'+iContProyecto+'_id" data-toggle="modal"><strong>Seleccionar una tarea</strong></a>' 
        + 

Этот метод содержит публикации:

PublicarBotonSeleccionarTarea: function(icontTarea){ 

    var self = this; 

    $("#btn_seleccionarTarea_"+icontTarea+"_id").click(function(){ 
    self.publishers("seleccionProyecto_seleccionarTarea", icontTarea); 
    }); 
}, 

В модуле "B" Я подписываюсь с помощью этого метода:

subscribers : function() { 

    var self = this; 
    self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) { 
    self.idTarea=data; 
    self.showModal(); 
    }); 
    }, 

Действие кнопки в модальном:

CargarAcciones: function(){ 

    var self = this; 
    self.hideError(); 
    $('#btn_modal_seleccionarTarea_cancelar_id').click(function(){ 

    self.HideModal(); 
    self.hideError(); 

    }); 
    $('#btn_modal_seleccionarTarea_aceptar_id').click(function(){ 

    var seleccionTarea = $("#select_seleccionar_proyecto_id option:selected").val(); 
    if(seleccionTarea!=0){ 
    self.envioNombreTarea(); 
    self.HideModal(); 
    }else{ 
    self.showError(); 

    } 


    }); 
    }, 

Тогда я начинаю работать на то, что я говорил раньше, так что у меня нет кнопки на том же модуле.

мне нужно очистить модальность в модуле B

+0

try $ ('# select_seleccionar_proyecto_id'). Val ('0') или $ ("# select_seleccionar_proyecto_id").attr ('selectedIndex', 0); – Sushil

+0

ty, но не работает –

+0

Посмотрите мой ответ в этой статье [http://stackoverflow.com/questions/7445492/how-to-reset-a-select-box-using-jquery/7445661#7445661) – Jack

ответ

0

Вы можете сбросить ни к чему (пустое значение) - что не будет отображаться ничего в окне выбора.

Или вы можете сбросить до первого значения - первого ребенка в поле выбора.

JSnippet DEMO

Посмотрите:

$('button#1').click(function(){ 
 
    $('select').val(''); 
 
}); 
 
$('button#2').click(function(){ 
 
    $('select').val($('select').children().eq(0).val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select class="selectpicker" id="select_seleccionar_proyecto_id"> 
 
    <option value="0">Seleccione..</option> 
 
    <option value="1">Tarea número 1</option> 
 
    <option value="2">Tarea número 2</option> 
 
    <option value="3">Tarea número 3</option> 
 
    <option value="4">Tarea número 4</option> 
 
    <option value="5">Tarea número 5</option> 
 
    <option value="6">Tarea número 6</option>   
 
</select> 
 
<button id='1'>Reset To nothing</button> 
 
<button id='2'>Reset To first</button>

+0

Друг, я редактирую с дополнительной информацией в конце. –

1

Как charlietfl отметил, проще всего использовать

$('select').val('0'); 

для сброса выберите элемент leavi ng отображается первый элемент опции.

+1

должен использовать 'prop()' not 'attr()'. Проще просто установить значение для пустых строк, хотя по выбору – charlietfl

+0

Это может быть проще, но исходное раскрывающееся меню имеет первый вариант, выбранный при первом рендеринге, поэтому я предположил, что он должен был выглядеть так, как в следующий раз, когда модаль был показан. – spaceman

+0

будет по-прежнему заканчиваться как один и тот же результат, если пустое значение передается, выбор принимает значение первой опции в любом случае – charlietfl

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