Nasıl bu jQuery onclick olay bağlamak istiyorsunuz?

3 Cevap php

Ben bir DIV etiketi için geleneksel bir onclick olayı kullanmak şu var

Nasıl Jquery kullanarak bu uygulama hakkında gitmek istiyorsunuz?

$parameter = "onClick=\"selprice('" .
  $price_options_array[$price_counter]['price'] . "','" .
  $price_counter . "')" . "\"";

Ben yukarıda kullanmak ve sadece bu yüzden gibi benim div eklemek:

<div class="price_row" <?php echo $parameter; ?>>

Ben bu kadar jquery yöntemi kullanılarak ama devam etmek nasıl emin değilim?

$(document).ready(function() {
  $('.price_row').click(function() {
    ????
  });
});

3 Cevap

$(function() {
  $("div.price_row").click(function() {
    selprice("<?php echo $price_options_array[$price_counter]['price'] ?>", "<?php echo $price_counter ?>");
  });
});

Ben mutlaka ancak bunu tavsiye etmem. Başka bir yaklaşım zamanında bunu sorgulamak bir yerde gerekli tarih koymaktır. Örneğin:

<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 ile birlikte:

div.price_info div.price, div.price_info div.counter { display: none; }

ve daha sonra:

$(function() {
  $("div.price_row").click(function() {
    var price = $(this).children("price").text();
    var counter = $(this).children("counter").text();
    selprice(price, counter);
  });
});

Dinamik olarak oluşturulan JavaScript bazen biraz dağınık alabilirsiniz.

Ayrıca yerine alt öğeleri kullanarak jquery.data() kullanabilirsiniz. Sadece gerekli verileri içerecek PHP doğru sınıf özniteliğini inşa etmek gerekir.

Bir javascript dizi için $ price_options_array taşıyın.

'Var price_options ='. $ Price_options / / veya PHP bunu ancak

Ve döngünün içinde senin div yaptığınızda price_counter ile ekstra bir etiket eklemek (pc)

">"

Price_options bilgileri gibi olacak "pc" değişken ardından, jquery döngü içinde erişilebilir olacak

$ (Document). Ready (function () {

$('.price_row').click(function() { var pc = $(this).attr('pc'); var price = price_options[pc]['price']; selprice(price, pc); }); });

Umut olur.

Gibi bir şey yapabilirsiniz:

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>';
}

Ve jQuery:

$('div.price_row').click(function(){
    var id = $(this).attr('id').split('_');
    selprice(price_options[id], id);
});

Bu denenmemiş ama size kaba bir başlangıç ​​vermelidir.