• 09-04-2015, 16:55:37
    #1
    Üyeliği durduruldu
    Aşağıda resim deki bir tablom var . Select butonuna bastığımda, bulunduğu satırı seçtirebildim fakat tekrar bastığımda kaldıramadım bir türlü

    Php
    <table id="example" class="display" cellspacing="0" width="100%"><thead><tr><th>PRODUCT CODE</th><th>PRODUCT DESCRIPTION</th><th>SUGGESTED RETAIL PRICE</th><th>BUYING PRICE</th><th>QUANTITY</th><th>DISCOUNT</th><th></th></tr>
    </thead>
    <tbody>
        <?php
         $id = "";
         foreach ($veri as $keyX => $valueX) { $id = str_replace(".", "",  $valueX[A]);?>   
        <tr class="tr" id="tr_<?php echo $id; ?>">
        <label id="l"><input type="checkbox" class="c" name="deger[]" value="1"/></label>
        <td style="text-align: center;">
            <?php echo $valueX[A]; ?>
        </td>
        <td style="text-align: center;">
            <?php echo $valueX[B]; ?>
        </td>
        <td style="text-align: center;">
            <?php echo $valueX[C]; ?>
        </td>
        <td style="text-align: center;">
            <?php echo $valueX[D]; ?>
        </td>
        <td style="text-align: center;">
            <input type="text" style="width: 70px;" />
        </td>
        <td style="text-align: center;">
            %15
        </td>
         <td style="text-align: center;">
            <button type="button" class="btn btn-success" data-id="<?php echo $id; ?>">Select</button>
        </td>
        </tr>
    
        <?php } ?>
        
    
    </tbody>
    </table>
    Js
    <script type="text/javascript" charset="utf-8">
                $(document).ready(function() {
                    $('#example').dataTable();
                } );
            </script>
      <script>
    $(function() {
    function checksec(id) {
          $('.btn-success').each(function(){   
          $('#tr_'+id).removeClass('secili');
    
          });      
          if ($('#l').length) {
             $('#l').each(function(){ 
    
               $('#tr_'+id).removeClass('secili');
             });
              $('.c').each(function(){ 
                 $('#tr_'+id).addClass('secili');
             });
          };
    }
       $('.btn-success').click(function(){
       var id = $(this).attr('data-id');
         
       checksec(id);
       });
     
       });
    </script>
  • 09-04-2015, 18:06:01
    #2
    toggleClass kullanarak hem eklemeyi, hem silmeyi halledebilirsin hocam. şu şekilde:

    $('table#example').on('click', 'button.btn-success', function(){
      $(this).closest('tr').toggleClass('secili');
    });
    örnek
  • 10-04-2015, 08:15:17
    #3
    Üyeliği durduruldu
    jebias adlı üyeden alıntı: mesajı görüntüle
    toggleClass kullanarak hem eklemeyi, hem silmeyi halledebilirsin hocam. şu şekilde:

    $('table#example').on('click', 'button.btn-success', function(){
      $(this).closest('tr').toggleClass('secili');
    });
    örnek
    aynen hocam bu fonkisyon ile çalıştı öncelikle teşekkür ederim. peki seçilenlerin id'sini nasıl alabilirim hocam ?
  • 10-04-2015, 08:48:05
    #4
    Quismo adlı üyeden alıntı: mesajı görüntüle
    aynen hocam bu fonkisyon ile çalıştı öncelikle teşekkür ederim. peki seçilenlerin id'sini nasıl alabilirim hocam ?
    Merhaba,

    $(this).data('id');
    şeklinde alabilirsiniz.
  • 10-04-2015, 09:38:08
    #5
    Üyeliği durduruldu
    jebias adlı üyeden alıntı: mesajı görüntüle
    toggleClass kullanarak hem eklemeyi, hem silmeyi halledebilirsin hocam. şu şekilde:

    $('table#example').on('click', 'button.btn-success', function(){
      $(this).closest('tr').toggleClass('secili');
    });
    örnek
    ClubArkadas adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    $(this).data('id');
    şeklinde alabilirsiniz.
    teşekkür ederim. Jquery ile fazla aram iyi değil ama bu şekil de öğrenmiş oluyoruz. Şimdi toggleclass ile bu sorunu hallettik şöyle bir duruma ihtiyacım kaldı sadece arkadaşlar, "Seçilenlerin" 4.sütundan gelen değer ile 5.sutun yani Quantity(adet) deki inputtun value'su ile çarpıp
    bir p , div vs bir elementte göstermem yeterli olacak. Yardımcı olabilir miniz?
  • 10-04-2015, 15:02:00
    #6
    Quismo adlı üyeden alıntı: mesajı görüntüle
    teşekkür ederim. Jquery ile fazla aram iyi değil ama bu şekil de öğrenmiş oluyoruz. Şimdi toggleclass ile bu sorunu hallettik şöyle bir duruma ihtiyacım kaldı sadece arkadaşlar, "Seçilenlerin" 4.sütundan gelen değer ile 5.sutun yani Quantity(adet) deki inputtun value'su ile çarpıp
    bir p , div vs bir elementte göstermem yeterli olacak. Yardımcı olabilir miniz?


    <input type="text" name="TotalPrice"><br>
    <p></p>
    var sonuc =  ($(this).data('sutun4')) *  ($(this).data('sutun5'));
    $('#TotalPrice').val(sonuc);
    $( "p" ).text(sonuc);

    test etmedim ama bu şekilde çalışması lazım.Input elementi yerine başka elementte kullanabilirsin.
  • 10-04-2015, 15:12:09
    #7
    Üyeliği durduruldu
    ertem adlı üyeden alıntı: mesajı görüntüle
    <input type="text" name="TotalPrice"><br>
    <p></p>
    var sonuc =  ($(this).data('sutun4')) *  ($(this).data('sutun5'));
    $('#TotalPrice').val(sonuc);
    $( "p" ).text(sonuc);

    test etmedim ama bu şekilde çalışması lazım.Input elementi yerine başka elementte kullanabilirsin.
    sutun4 - sutun5 yazdıgın yere ne yazacagım tam oalrak burayı anlamadım.
  • 10-04-2015, 15:58:58
    #8
    Quismo adlı üyeden alıntı: mesajı görüntüle
    sutun4 - sutun5 yazdıgın yere ne yazacagım tam oalrak burayı anlamadım.
    şu fonksiyon işini görür hocam:

    function hesapla() {
      toplam = 0;
      $('table#example .secili').each(function(){
        var ucret = parseInt($(this).find('td').eq(3).html()) * parseInt($(this).find('td').eq(4).find('input').val());
    
        toplam = toplam + ucret;
        
      });
      
      alert(toplam);
    }
    örneği güncelledim
  • 10-04-2015, 16:59:58
    #9
    Üyeliği durduruldu
    jebias adlı üyeden alıntı: mesajı görüntüle
    şu fonksiyon işini görür hocam:

    function hesapla() {
      toplam = 0;
      $('table#example .secili').each(function(){
        var ucret = parseInt($(this).find('td').eq(3).html()) * parseInt($(this).find('td').eq(4).find('input').val());
    
        toplam = toplam + ucret;
        
      });
      
      alert(toplam);
    }
    örneği güncelledim
    işte aynen buydu hocam. yanlız şimdi benim sütundaki veriler tam sayı olarak değil örneğin $9.375,00 gibi veriler gelmekte ve undefined alıyorum. bunun çözümü nasıl acaba hocam?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:59:58 -->-> Daha önceki mesaj 16:06:29 --

    Edit rakamları da hallettim
    3280000

    olarak bir değer geliyor(sabit değil, 327123 olarak da bir değer gelebilir.) bu tür değerleri
    32.800,00 olarak çevirebilecek bir fonksiyona ihtiyacım kaldı.