2016-08-06 3 views
0

<div class="custom">の中に変数$countがあります。別のdivクラスが変更された場合は、それを再表示する必要があります。私はそのようなコードを書いた変更イベントでdiv内の変数をリフレッシュする方法はありますか?

$('.test1').on('change', function(e)) { 
    $('.custom').text($(this).text()); 
} 

しかし、この変数は更新されません。ここで

function commerce_popup_cart_block_view($delta=''){ 
    $block = array(); 
    switch($delta) {  
    case 'commerce_popup_cart': 
     global $user; 
     // Default to an empty cart block message. 
     $content = ''; 
     // First check to ensure there are products in the shopping cart. 
     if ($order = commerce_cart_order_load($user->uid)) { 
     $wrapper = entity_metadata_wrapper('commerce_order', $order); 

      // Build the variables array to send to the cart block template. 
      $variables = array(
      'order' => $order, 
      'contents_view' => commerce_embed_view('commerce_cart_block',  'defaults', array($order->order_id), $_GET['q']), 
     ); 
      $count = commerce_line_items_quantity($wrapper->commerce_line_items, commerce_product_line_item_types());   
      $quantity = 0;   
      foreach ($wrapper->commerce_line_items as $line_item) { 
      if (!$line_item instanceof EntityMetadataWrapper) { 
       $line_item = entity_metadata_wrapper('commerce_line_item', $line_item); 
      } 
      $types = array('product'); 

      if (empty($types) || in_array($line_item->type->value(), $types)) { 
       $quantity = $quantity + $line_item->quantity->value(); 

      } 
      } 

      $prod_count = t($quantity); 

      if ($prod_count > 0){         
      $icon = '<div class="cart-icon"></div><div class="cart_popup_count">'. $prod_count . '</div>'; 
      $content = '<div id="cart-popup" style="display:none;">' . theme('commerce_cart_block', $variables) . '<div class="popup-arrow"></div></div>'; 
      $content = '<div class="wrapper">' . $icon . $content . '</div>'; 
      } elseif (variable_get('commerce_popup_cart_show_empty_cart', 0) == 1){ 
      $content = commerce_popup_cart_block_view_get_empty_cart($variables); 
      } 
     }elseif (variable_get('commerce_popup_cart_show_empty_cart', 0) == 1){   
      $content = commerce_popup_cart_block_view_get_empty_cart($variables = array());   
     } 

     // If the superfish module is not installed then add hoverintent script 
     if (!module_exists('superfish')){ 
     drupal_add_js(drupal_get_path('module','commerce_popup_cart') . '/js/jquery.hoverIntent.minified.js'); 
     } 

     return array('subject' => t('Shopping cart'), 'content' => $content); 
     break; 
    } 
    return $block; 
} 

$ prod_count変数スクリーンショット付きのdivブロックです:あなたは、あなたはいくつかの種類の名前空間を使用する場合は、グローバル変数を宣言する必要があります
screenshot

+0

「関数(e){」の代わりに、誤字: 'function(e)){'があります。 –

+0

second)はイベント – rick1

+0

を終了します。関数宣言の '}'の後に移動する必要があります。 –

答えて

0

。名前空間を外側に宣言するだけで、必要なものを投げることができます。例

var YOUR_VALUE = {}; 
$(document).ready(function() { 
    YOUR_VALUE.check = ""; 

    YOUR_VALUE.check = "<?php echo $php_VAR; ?>";"; 
}); 

console.log(YOUR_VALUE.check); // "TEST CODE" 
+0

変数が私にリフレッシュしたいのですが、 – rick1

0

としてそれを試してみてください。このコード

<script type="text/javascript">  
    function myfunction(val) 
    { 
     $('.custom').val(val); 
    } 
    </script> 


    <input type="text" class="test1" id="test1" onkeyup="myfunction(this.value);"> 
    <input type="text" class="custom" id="custom"> 
+0

jquery – rick1

+0

このコードはうまくいきません。jQueryの競合の問題があると思います。別のファイルにコードを追加して実行してください。 –

+0

なぜですかあなたはここに入力を使用しますか?このコードをhtmlファイルに追加する必要はありません。script.jsにある必要があります – rick1

0

をお試しください:

$('.test1').on('change', function(e)) { 
    $('.custom').text($(this).text()); 
} 
// Output: SyntaxError: Unexpected token ')'. Expected an opening '{' at the start of a function body. 

正しい:あなたは構文エラーを持っているので、それが働いていない

$('.test1').on('change', function(e)) { $('.custom').html($(this).html()); } 
+0

ありがとうございますが、動作しません。 – rick1

+0

div値の変更を取得し、上記のように別の値に割り当てる必要があります。 –

+0

私はtest1をリフレッシュする必要がありますが、必要な値を持つ変数はカスタム内にありますので、カスタムを変更した場合はtest1も同様に変更する必要があります – rick1

0

構文は次のとおりです。

また
$('.test1').on('change', function(e) { 
    $('.custom').text($(this).text()); 
}) 

changeイベント時にユーザ↹タブ入力フィールドのうち S。 <div>のクラスが変更されたときにこの関数を実行する場合は、クラスを変更するときにこの関数を直接呼び出すか、MutationObserverを使用するのが良い方法です。

+0

はい私は構文を変更しますが、役に立たない... – rick1

+0

@ rick1まさにあなたがここでやろうとしていること。私はそれを理解するのに困っている。 –

+0

カートの中の製品の数が変更された場合は、画像の上にある – rick1

関連する問題