将变量传递给html模态

时间:2015-07-02 00:33:56

标签: javascript jquery html modal-dialog

我正在尝试执行以下操作。

  1. 当用户点击按钮时,模式应显示
  2. 模式应根据按下的按钮显示不同的内容
  3. 我的网站上有很多这样的按钮。所以我想将一个变量传递给模态并进行if比较
  4. 这是我的模态

    <div class="modal fade" id="group_selection" role="dialog">
     <div class="modal-dialog">
      <div class="modal-content">
    
              <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                  <h4 class="modal-title" id="myModalLabel">Select the journal club for which this vote should count</h4>
              </div>
    
              <div class="modal-body">
                    <form>
    
                      {% for group in groups %}
    
                          <input class="group_sel" type="checkbox" value="{{ group[0] }}">{{ group[0] }}
                          </input><br>
    
                      {% endfor %} 
                  </form>
              </div>
    
              <div class="modal-footer">
                  <input class="btn btn-primary multivote" type="submit" data-dismiss="modal" value="Select" />
                  <input class="btn btn-default" type="button" data-dismiss="modal" value="Close" />
              </div>  
          <!-- </form>  -->                                
      </div>
    

    上面的模式显示了一组选择。这个选择对于每个模态是相同的,所以它工作正常,但现在我想在for循环中禁用输入语句,具体取决于按下哪个按钮来进入此模态。

    我不知道如何在html中创建新变量。我希望jQuery可以帮助解决这个问题,所以我使用以下jQuery命令触发模态

    <script type="text/javascript">
    $(document).ready(function(){
       $(".vote").click(function(){ 
          $('#group_selection').modal('show');
       });
    });
    </script>
    

    我知道我可以使用jQuery将值写入html代码(如此处Passing data to a bootstrap modal所示)但我不知道如何使用它来进行if选择?

    感谢您的帮助

    最好

    卡尔

1 个答案:

答案 0 :(得分:0)

在显示模态之前,只需确定点击了哪个.vote按钮并执行了相应的任务,即:

$(".vote").click(function(){ 
      switch($(this).attr('value'))
      {
          case '5 Stars': // Assumes your button's value was '5 Stars'
            $('#group1').attr('disabled','disabled'); //disables group1 when 5 stars was selected  
               break; 
          case '4 Stars': ... break;
      }
      $('#group_selection').modal('show');
   });

或者,为每个不同的按钮分配一个不同的.click()处理程序来执行相应的任务。

附注:您还应该在打开模态时重置所有禁用,并重置表单以使每个加载新鲜