[英]How would I bind this to the onclick event in JQUERY?
我在DIV標簽的傳統onclick事件中使用了以下內容
我將如何使用jquery來實現呢?
$parameter = "onClick=\"selprice('" .
$price_options_array[$price_counter]['price'] . "','" .
$price_counter . "')" . "\"";
我使用上面的方法,只是將其添加到我的div中,如下所示:
<div class="price_row" <?php echo $parameter; ?>>
到目前為止,我已經使用了jquery方法,但是我不確定如何進行?
$(document).ready(function() {
$('.price_row').click(function() {
????
});
});
$(function() {
$("div.price_row").click(function() {
selprice("<?php echo $price_options_array[$price_counter]['price'] ?>", "<?php echo $price_counter ?>");
});
});
但是,我不一定會建議。 另一種方法是將必要的日期放在可以在運行時查詢的地方。 例如:
<div class="price_info")
<div class="price"><?php echo $price_options_array[$price_counter]['price'] ?></div>
<div class="counter"><?php echo $price_counter ?></div>
</div>
結合CSS:
div.price_info div.price, div.price_info div.counter { display: none; }
接着:
$(function() {
$("div.price_row").click(function() {
var price = $(this).children("price").text();
var counter = $(this).children("counter").text();
selprice(price, counter);
});
});
動態生成的Javascript有時會有些混亂。
您也可以使用jquery.data()代替子元素。 您只需要在PHP中正確構造class屬性即可包含必要的數據。
將$ price_options_array移到javascript數組。
'var price_options = ' . $price_options // or however you do it in PHP
當您將div放入循環中時,請添加一個額外的標簽,其中包含price_counter(pc)
"<div pc='". $price_counter . "'class="price_row" <?php echo $parameter; ?>>"
然后,可以在jquery循環中訪問“ pc”變量,以及price_options信息
$(document).ready(function() {
$('.price_row').click(function() {
var pc = $(this).attr('pc');
var price = price_options[pc]['price'];
selprice(price, pc);
});
});
希望能有所幫助。
您可以執行以下操作:
PHP:
<script language="text/javascript">var price_options = <?php echo json_encode($price_options_array); ?></script
for ( $y = 0; $y < $prices; $y++ )
{
echo '<div class="price_row" id="price_' . $y . '">Foo</div>';
}
在jQuery中:
$('div.price_row').click(function(){
var id = $(this).attr('id').split('_');
selprice(price_options[id], id);
});
這未經測試,但是應該可以讓您有個大概的開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.