2015-11-17 17 views
9

Muszę zmienić wartość data-matchId, gdy użytkownik kliknie przycisk. Mogę uzyskać wartość za kliknięcie, ale nie mogę ustawić go na data-matchId.Zmień identyfikator danych onclick

HTML części:

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

JavaScript Część:

$('.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); 
    }); 

wiem, co daje wartość id do tagu skrypt może być głupie, ale próbowałem kilka sposobów i nie mógł znaleźć żadnego rozwiązania o to. Na przykład; Próbowałem zwrócić kod HTML po powodzeniu (proszę sprawdzić kod JS), ale też się nie udało.

Z góry dziękuję.

Edit 1:

Próbowałem inny sposób, aby to naprawić, teraz zmieniłem część HTML do tego:

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

I zmienić część JavaScriptu do tego:

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">'); 

teraz , daje błąd na widżecie. To dziwne, ponieważ umieszczam część bezpośrednio w HTML, działając idealnie.

Edit 3:

dzielę wszystkie HTML i JS część:

live.php strony:

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

plik 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> 

plik liveDetail.php:

  <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

Możliwy duplikat [jQuery .data() nie działa, ale.attr() does] (http://stackoverflow.com/questions/8707226/jquery-data-does-not-work-but-attr-does) –

+0

to '$ (" # betradar ")' dodane przez wywołanie ajax ? – madalinivascu

+0

Nie, jest statyczne w HTML. –

Odpowiedz

0

myślę jego jQuery, który nie jest wykonywany skrypt. Spróbuj czystych js

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); 

Zobacz, czy to pomaga

+0

Nie, nie działa. –

+0

Czy możesz wkleić otrzymany błąd? –

+0

Nie widziałem żadnego błędu na konsoli, ale nie widziałem też kodu. –

0

Zamiast ładowania matchId betradar, wystarczy dodać parametr do addWidget.

Zamiast:

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

zastosowanie:

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

a następnie wykonaj:

SRLive.addWidget('widgets.lmts', { 
    container: '.lmt-container', 
    showPitch: 'true', 
    showScoreboard: 'true', 
    showMomentum: 'true', 
    sidebarLayout: 'dynamic', 
    matchId: <<yourIdHere>> 
    }); 
Powiązane problemy