3

我有一个选择框:

<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

编辑:

对不起,但我没有提到与不同模块一起工作。

在模块“A”中,我的方法包含打开模式方法并发布的按钮:

此方法包含 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 中的模态

4

2 回答 2

2

正如charlietfl指出的,最简单的就是使用

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

重置选择元素,使第一个选项元素可见。

于 2015-04-28T21:35:56.907 回答
1

您可以重置为空(空值) - 这将在选择框中不显示任何内容。

或者您可以重置为第一个值 - 选择框的第一个子项。

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>

于 2015-04-28T21:30:23.487 回答