簡體   English   中英

單擊按鈕運行功能和addClass

[英]Click button run function and addClass

我試圖在單擊按鈕時將類添加到引導程序模式。 除了只有一個模式填充了JSON內容外,別無所求。 為了使腳本正常工作,我需要在模態頂部添加一些標識符,以便腳本知道哪個模態是打開的。

模態如下所示:

<div data-show="false" data-width="800" tabindex="-1" aria-hidden="false" role="dialog" class="modal fade in" id="shop-modal">
    <div class="modal-dialog modal-lg">
      ... content from JSON ...
      </div> 
    </div> 

模態是這樣打開的:

<a data-vid="123456" data-handle="link-to-product.html" class="trigger-cart" href=""></a>

 $('.trigger-cart').click(function(e){
    e.preventDefault();
    var $this = $(this);
    var url = $this.data('handle') + '/?format=json';
    var vid = $this.data('vid');
    quick_shop(url, vid);
  });

單擊按鈕時觸發的功能是:

function quick_shop(url, vid){

  $('#shop-modal').addClass(vid);

$.getJSON(url, function (data){
  $('#shop-modal').modal('show');
   // do stuff....

我試圖做的是將vid作為類添加到打開的模式中。 正如我嘗試的$('#shop-modal').addClass(vid); 我也嘗試過這樣的事情:

$('#shop-modal').modal('show').addClass(vid);

這行不通。 有誰知道這是怎么做到的嗎?

根據您的評論:

好的,但是vid是123456。為什么addClass(vid)不能正常工作? 不過這行得通,addClass(''+ vid +'')

聽起來您要將數字傳遞給addClass,但是addClass需要一個字符串。 這就是為什么addClass(''+123456+'')有效但addClass(123456) addClass(''+123456+'')原因,在數字類型的任一側使用空字符串會強制其成為字符串。

相反,如果您做了addClass((vid).toString())那么它也將起作用。 雖然,我也不得不提到僅使用數字作為類名是無效的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM