簡體   English   中英

Jquery數據屬性值未定義

[英]Jquery data attribute value undefined

HTML:

<button class="btn btn-sm green btn-outline filter-submit margin-bottom" data-type="Invoice Generate" onclick="show_modal()"><i class="fa fa-envelope"></i></button>

jQuery的:

function show_modal(){
    alert($(this).data("type"));
    $('#basic').modal('show'); 
}

輸出:

Undefined

預期產出:

Invoice Generate

任何人都可以告訴我為什么它提醒未定義,我該如何解決?

show_modal函數不知道$(this)是什么。 所以this添加到onclick="show_modal()"就像onclick="show_modal(this)"

那么你當然必須更新你的功能以及如下:

function show_modal(obj){
    alert($(obj).data("type"));
    $('#basic').modal('show'); 
}

 function show_modal(obj){ alert($(obj).data("type")); $('#basic').modal('show'); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button class="btn btn-sm green btn-outline filter-submit margin-bottom" data-type="Invoice Generate" onclick="show_modal(this)"><i class="fa fa-envelope"></i></button> 

你正在調用函數你必須通過這將函數

<button class="btn btn-sm green btn-outline filter-submit margin-bottom" data-type="Invoice Generate" onclick="show_modal()"><i class="fa fa-envelope"></i></button>

在JS中

function show_modal(ob){
    alert($(ob).data("type"));
    $('#basic').modal('show'); 
}

或者,如果你想使用$(this)將一個事件處理程序附加到元素,使用它的類或id,就像這樣。

$('.filter-submit').on('click', function(){
  alert($(this).data("type"));
})

 $('.filter-submit').on('click', function() { alert($(this).data("type")); //$('#basic').modal('show'); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button class="btn btn-sm green btn-outline filter-submit margin-bottom" data-type="Invoice Generate"><i class="fa fa-envelope"></i>Show</button> 

希望這是您的解決方案

<button class="btn btn-sm green btn-outline filter-submit margin-bottom" data-type="Invoice Generate" onclick="show_modal(this)"><i class="fa fa-envelope"></i></button>

<script>
   function show_modal(ele){

      alert($(ele).data("type"));
      $('#basic').modal('show'); 
   }
</script>

暫無
暫無

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

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