2015-11-17 21 views
9

Tôi cần thay đổi giá trị data-matchId khi người dùng nhấp vào nút. Tôi có thể nhận được giá trị khi nhấp nhưng không thể đặt giá trị thành data-matchId.Thay đổi id dữ liệu trênclick

HTML Part:

<script id="betradar" type="text/javascript" data-matchId="" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets"></script> 

Javascript Phần:

$('.livemenumatch').click(function() { 
     clearInterval(refreshIntervalId); 
     var id = $(this).attr('data-id'); 
     var betradar = $(this).attr('data-betradar'); 
     localStorage.setItem("lastid", id); 
     $.ajax({ 
      url: '<?php echo site_url('canli'); ?>/' + id, 
      type: 'POST', 
      data: { 'submit': true }, 
      success: function(data) { 

       $("#matchDetails").html(data); 
       $("#betradar").attr('data-matchId' , betradar); 
      }, 
     }); 

     var lastid = localStorage.getItem('lastid', lastid); 
     refreshIntervalId = setInterval(function() { 
      refreshDiv(lastid) 
     }, 3000); 
    }); 

Tôi biết, cho id giá trị cho thẻ script có thể là ngu ngốc nhưng tôi đã thử một vài cách và không thể tìm thấy bất kỳ giải pháp về nó. Ví dụ; Tôi đã cố gắng trả lại HTML sau khi thành công (Kiểm tra mã JS vui lòng) nhưng nó cũng không thành công.

Xin cảm ơn trước.

Sửa 1:

tôi đã cố gắng một cách khác để sửa chữa nó, bây giờ tôi đã thay đổi một phần HTML của tôi như thế này:

<div id="track"></div> 

Và thay đổi một phần hoạt Javascript để này:

var betradar = 'somemanualid'; 
$("#track").html('<script type="text/javascript" data-matchId="'+ betradar +'" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets">'); 

Bây giờ , nó đưa ra lỗi trên widget. Thật lạ lùng khi tôi đặt

<script type="text/javascript" data-matchId="someidhere" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets"> 

trực tiếp trên HTML, hoạt động hoàn hảo.

Sửa 3:

Tôi chia sẻ tất cả HTML và JS phần:

live.php page:

<body style=""> 


<div id="loading" style="display: none;"> 
    <span class="imgload"></span> 
</div> 
<!-- Header --> 
<?php $this -> load -> view('user/headerMenu'); ?> 
<!-- End of Header --> 

<!-- Content --> 
<div class="content-pro shade"> 
    <div class="content-pro3"> 
     <div class="content-row"> 
      <!-- Left --> 
      <div class="content-left"> 
       <div id="liveMenu"> 

       </div> 



      </div> 
      <!-- Center --> 

      <div class="lmt-container" style="width: 98%"></div> 
      <div id="matchDetails"> 
      </div> 

      <!-- End of Center --> 
      <!-- Right --> 
      <div class="content-right"> 
       <div id="coupon_block"> 

        <div class="kupon-pro-fixed"> 
         <div class="kupon-pro"> 
          <div class="loading"> 
           <div class="imgload"></div> 
          </div> 
          <!-- Kupon Title --> 
          <div class="kupon-titlewrap bordertop"> 
           <div class="kupon-title bordertop"> 
            <span class="glyphicon glyphicon-list"></span><h1>Bahis Kuponu</h1> 
            <a onclick="setCouponPosition(this);" class="change-static" title="Kuponu sabitle"></a> 
            <span class="badge"><span id="coupon_count"></span> Seçim</span> 
           </div> 
          </div> 
          <!-- // Kupon Title --> 

          <!-- Kupon Empty --> 
          <div class="kupon-pro-empty borderbottom"> 
           <p class="pad10"> 
            <span class="glyphicon glyphicon-info-sign font12"></span> Bahis yapmak için bir seçim yapmanız gerekir 
           </p> 
          </div> 
          <!-- // Kupon Empty --> 

         </div> 
        </div> 
       </div> 
       <div class="right-area"> 

       </div> 
      </div> 
      <!-- End of Right --> 

      <span id="lbl_collapse" style="display:none;">Tümünü Kapat</span> 
      <span id="lbl_expand" style="display:none;">Tümünü Aç</span> 
      <span id="lbl_betgroup" style="display:none;">Bahis Grubu Seçin</span> 
      <span id="lbl_betgroupall" style="display:none;">Bütün Bahisler</span> 
      <span id="lbl_game" style="display:none;">Oyun</span> 
      <span id="lbl_all" style="display:none;">Hepsi</span> 
     </div> 
    </div> 
</div> 
<!-- End of Content --> 



<script type="text/javascript"> 
    SRLive.addWidget('widgets.lmts', { 
    container: '.lmt-container', 
    showPitch: 'true', 
    showScoreboard: 'true', 
    showMomentum: 'true', 
     sidebarLayout: 'dynamic'// 'dynamic' | 'bottom'> 
    }); 
</script> 

<script type="text/javascript"> 
$(document).ready(
     function() { 
      setInterval(function() { 
       $.ajax({ 
       url: '<?php echo site_url('canliMenu'); ?>/', 
       type: 'GET', 
       data : "", 
       success: function(data) 
       { 
        if(data!=null) 
        $("#liveMenu").html(data); 
       }, 

       error: function (data) 
       { 
        console.log(data); 
       } 



      })}, 1000); 
     }); 

tập tin liveMenu.php:

<div class="livenow-menuwrap"> 
        <div class="livenowalt-title bordertop"> 
         <h1>Şu An Canlı</h1><span class="badge">24</span> 
        </div> 
        <div class="livenowmenu-content"> 
         <ul id="livemenu" class="navprolivenowalt"> 
          <li id="lvm-1" class="menuc1 open sportm-order-1"> 
           <a href="javascript:void(0)" onclick="liveMenuToggle(this)" class="live-theme1"><span class="sportmain"> <i class="sporttype1"></i></span> Futbol <span class="badge">12</span></a> 
           <ul id="sportm-ct-1"> 

            <?php foreach($liveList as $countryName => $rows) { ?> 
            <li id="lvm-1-175" class="menuc2 active open countrym-order-9999"> 
             <a href="javascript:void(0)" onclick="liveMenuToggle(this)"><span class="flagmain"><i class="flag115"></i></span> <?php echo $countryName; ?></a> 
             <ul id="countrym-fix-1-175"> 
              <?php foreach($rows as $m) { ?> 
              <li class="fix-season-19182" id="lvmfix-2547028"> 
               <a data-id="<?php echo $m['matchId']; ?>" data-betradar="<?php echo $m['betradarId']; ?>" class="livemenumatch" id="lmi-2547028"> 
                <span class="livenow-teams"><?php echo $m['homeTeam']; ?> - <?php echo $m['visitorTeam']; ?></span> 
                <span class="livenow-scoreinfo" id="fix-spm-2547028"> 
                <span class="livenow-inscore"><?php echo $m['score']; ?></span> 
                <span class="livenow-inscore"><?php echo $m['minute']; ?></span> 
                <span class="livenow-inscore"><?php echo $m['timeDetail']; ?></span> 
                </span> 
               </a> 
              </li> 
              <?php }?> 
             </ul> 
            </li> 
            <?php }?> 
           </ul> 
          </li> 
         </ul> 
        </div> 
       </div> 

<script type="text/javascript"> 
    function refreshDiv(id){ 

    $.ajax({ 
     url: '<?php echo site_url('canli'); ?>/' + id, 
     type: "GET", 
     data : "", 
     success: function(data) 
     { 
      if(data!=null) 
      $("#matchDetails").html(data); 
     }, 

     error: function (data) 
     { 
      console.log(data); 
     } 
    }); 

    } 
    var refreshIntervalId; 
     $('.livemenumatch').click(function() { 

      clearInterval(refreshIntervalId); 
      var id = $(this).attr('data-id'); 

      localStorage.setItem("lastid", id); 
      $.ajax({ 
       url: '<?php echo site_url('canli'); ?>/' + id, 
       type: 'POST', 
       data: { 'submit': true }, 
       success: function(data) { 

        $("#matchDetails").html(data); 


       }, 
      }); 

      var lastid = localStorage.getItem('lastid', lastid); 
      refreshIntervalId = setInterval(function() { 
       refreshDiv(lastid) 
      }, 3000); 
     }); 
</script> 

liveDetail.php file:

  <div class="content-center" id="liveDiv"> 
       <div class="livescoreboard livescoreboard36" style="" id="livescoreboard"> 
        <div class="livescoreboard-title accordion-toggle pointer" data-toggle="collapse" data-target="#livescore-close"> 
         <span class="live-event-league"><span class="flagmain"><i class="flag252 margin0"></i></span> &nbsp;&nbsp;<?php echo $liveDetail['country']; ?></span> 
         <span class="live-event-hometeam"><?php echo $liveDetail['homeTeam']; ?></span> 
         <span class="live-event-scorenow"><?php echo $liveDetail['score']; ?></span> 
         <span class="live-event-awayteam"><?php echo $liveDetail['visitorTeam']; ?></span> 
         <span class="live-event-start"><span class="glyphicon glyphicon-time"></span> <?php echo $liveDetail['date']; ?></span> 
        </div> 

        <div class="livescoreboard-headwrap" style="display: none;"> 
         <div class="livescoreboard-headlink"> 
          <ul> 
           <li> 
            <a href="javascript:void(0)" class="nohref video_lbl active" onclick="toggleVideo(this, 'graphic')"><span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span> Canlı Grafik</a> 
           </li> 
           <li> 
            <a href="javascript:void(0)" class="nohref video_lbl" onclick="toggleVideo(this, 'video')"><span class="glyphicon glyphicon-facetime-video" aria-hidden="true"></span> Canlı Video</a> 
           </li> 
          </ul> 
         </div> 
        </div> 
        <div class="livescoreboard-content collapse in" id="livescore-close"> 
         <div class="lmt-container"></div> 
         <script type="text/javascript" data-matchId="8047580" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets"></script> 
         <script type="text/javascript"> 
          SRLive.addWidget('widgets.lmts', { 
          container: '.lmt-container', 
          showPitch: 'true', 
          showScoreboard: 'true', 
          showMomentum: 'true', 
           sidebarLayout: 'dynamic'// 'dynamic' | 'bottom'> 
          }); 
         </script> 
        </div> 

       </div> 
       <div id="divOrta"> 
        <div class="live-event-rate-well"> 
         <div class="live-event-actions-title"> 
          <div class="pull-left"> 
           <div class="live-events-actions-column"> 
            <ul> 
             <li> 
              <a onclick="openAllFixture()"><span class="glyphicon glyphicon-chevron-down"></span> Tümünü Aç</a> 
             </li> 
             <li> 
              <a onclick="closeAllFixture()"><span class="glyphicon glyphicon-chevron-up"></span> Tümünü Kapat</a> 
             </li> 
            </ul> 
           </div> 
          </div> 

         </div> 
         <div class="live-event-bettype-title" style="display: none;"> 
          <span class="pull-left">undefined</span><span class="pull-right"><a class="close-icon-sm clsoe-white" onclick="closeGroupMarketLine()"></a></span> 
         </div> 
         <div class="double-view"> 
          <?php foreach($liveDetail['odds'] as $odds) { ?> 
          <div class="sub-main-well-live btg-order-1" id="fx-btg-<?php echo $odds['orderNo']; ?>"> 
           <div class="sub-rate-title" data-toggle="collapse" data-target="#ac-kapa-sub-rate-<?php echo $odds['orderNo']; ?>"> 
            <span><?php echo $odds['oddType']; ?></span> 
           </div> 
           <div class="close-open in" id="ac-kapa-sub-rate-<?php echo $odds['orderNo']; ?>"> 
            <div class="sub-fixturelayout"> 
             <ul> 
              <li> 
               <div class="fixturelayout-rate"> 
                <ul> 
                 <li id="btg-odd-<?php echo $odds['orderNo']; ?>"> 
                  <?php echo $odds['odd']; ?> 
                 </li> 
                </ul> 
               </div> 
              </li> 
             </ul> 
            </div> 
           </div> 
          </div> 
          <?php }?> 
         </div> 
        </div> 
       </div> 
      </div> 
+0

có thể trùng lặp của [jQuery .data() không làm việc, nhưng.attr() does] (http://stackoverflow.com/questions/8707226/jquery-data-does-not-work-but-attr-does) –

+0

là '$ (" # betradar ")' được thêm vào bởi cuộc gọi ajax ? – madalinivascu

+0

Không, URL này tĩnh trong HTML. –

Trả lời

0

Tôi nghĩ jquery của nó mà không thực hiện kịch bản của bạn. Hãy thử js tinh khiết

t = document.getElementById("track") 
var tag = document.createElement('script'); 
tag.setAttribute("data-matchId", "somethingHere"); 
tag.setAttribute("id","dynamic-script"); 
tag.src = "http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets"; 
t.appendChild(tag); 

Xem nếu điều này giúp

+0

Không, không hoạt động. –

+0

Bạn có thể dán lỗi bạn nhận được không? –

+0

Tôi không thể thấy bất kỳ lỗi nào trên bảng điều khiển nhưng cũng không thể thấy mã. –

0

Thay vì tải matchId betradar, chỉ cần thêm tham số vào addWidget.

Thay vì:

<script type="text/javascript" data-matchId="id" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets"> 

sử dụng:

<script type="text/javascript" src="http://cs.betradar.com/ls/widgets/?/universalsoftwaresolutions/tr/Europe:Istanbul/widgetloader/widgets"> 

Và sau đó làm:

SRLive.addWidget('widgets.lmts', { 
    container: '.lmt-container', 
    showPitch: 'true', 
    showScoreboard: 'true', 
    showMomentum: 'true', 
    sidebarLayout: 'dynamic', 
    matchId: <<yourIdHere>> 
    }); 
Các vấn đề liên quan