$(document).ready(function () {
var from='2022-02-21';
var to='2022-02-25';
var category ='rt';
var btndiv = '<div >\
<input type="button" value="Generate Invoice" id="btngenerateinvoice" onclick="generateinvoice(' from ',' to ',' category ')" /></div>';
$(".btndiv").append(btndiv);
});
function generateinvoice(ff, tt, cc) {
alert("helo");
var f = ff;
var t = tt;
var c = cc
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row btndiv">
</div>
我在 onclick generateinvoice 函式上動態傳遞了三個引數,但是 generateinvoice 這些函式沒有被呼叫
uj5u.com熱心網友回復:
問題是onclick="generateinvoice當它們被渲染時,內部的值,代碼認為它是變數并且那些還沒有被定義。您可以\'在每個變數之前和之后添加。
所以你可以做onclick="generateinvoice(\'' from '\',\'' to '\',\'' category '\')"
沒有\'呈現的代碼可能看起來像generateinvoice(from,to,category),但是當您添加這些代碼時,代碼會將變數呈現為字串,所以看起來像generateinvoice('from','to','category')
演示
顯示代碼片段
$(document).ready(function() {
var from = "f",
to = "t",
category = "cc";
var btndiv = '<div >\
<input type="button" value="Generate Invoice" id="btngenerateinvoice" onclick="generateinvoice(\'' from '\',\'' to '\',\'' category '\')" /></div>';
$(".btndiv").append(btndiv);
});
function generateinvoice(ff, tt, cc) {
alert("helo");
var f = ff;
var t = tt;
var c = cc
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row btndiv">
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/455104.html
標籤:javascript jQuery 点击
