• 05-05-2015, 11:15:40
    #1
    Üyeliği durduruldu
    Arkadaşlar merhaba,
    Jquery ile aram pek iyi sayılmaz, sağdan soldan araştırma yardım derken buraya kadar gelebildim sepet mantığı gibi şöyle birşeye ihtiyacım var;

    add'e tıkladıgında da seçilen sütundaki verileri json olarak basabilmekteyim. fakat 2. bir ürün seçip add dediğim de çalışmıyor.

    http://codepen.io/anon/pen/zxgeBZ
  • 05-05-2015, 16:38:48
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba

    ADD butonlarının hepsinin ID'si aynı. ID'nin benzersiz olması gerekir zaten. Burada bir hata söz konusu. Ayrıca işleme alacağın verileri find ile html kodlarından bularak işleme sokmak yerine attribute şeklinde click eventi vermen gereken ADD buton ya da linkine eklersen hem javascript kodlarında bir ekonomi yapmış olursun hem de hesaplamaların ve verileri kullanmak daha rahat olur.

    Örnek olarak;

    ADD butonlarının IDlerini benzersiz yapıp btn isimli bir class verdim.

    Bu butonlara attribute olarak kullandığın iki bilgiyi o attributelere atadım

    <span id="subx1" class="btn" prodcode="A1000.H" buyprice="6.560"> ADD </span>

    ve subx id'sine bind ettiğin fonksiyonu aşağıdaki gibi değiştirdim.


    var x = new Array();

    $('.btn').click(function(){
    var y = $(this).index('.btn');
    x.push(new Array(
    $.trim($(this).attr('prodcode')),
    $('input').eq.val(),
    'ADD',
    $.trim($(this).attr('buyprice'))
    ));

    $('#sonuc').html(JSON.stringify(x));
    });

    ADD butonuna tıkladığımda aşağıdaki sonucu aldım
    [["A1000.H","2","ADD","6.560"],["A2000.L","3","ADD","3.560"],["A3000.L","2","ADD","3.560"]]

    Umarım istediğin şey budur.

    Array'a push ettiğin 3. parametreyi manuel olarak ADD olarak belirttim. sen istediğim gibi yapabilirsin. İstersen bir attribute ile istersen başka şekilde.

    KOlay gelsin.
  • 06-05-2015, 11:25:43
    #3
    Üyeliği durduruldu
    erolife adlı üyeden alıntı: mesajı görüntüle
    Merhaba

    ADD butonlarının hepsinin ID'si aynı. ID'nin benzersiz olması gerekir zaten. Burada bir hata söz konusu. Ayrıca işleme alacağın verileri find ile html kodlarından bularak işleme sokmak yerine attribute şeklinde click eventi vermen gereken ADD buton ya da linkine eklersen hem javascript kodlarında bir ekonomi yapmış olursun hem de hesaplamaların ve verileri kullanmak daha rahat olur.

    Örnek olarak;

    ADD butonlarının IDlerini benzersiz yapıp btn isimli bir class verdim.

    Bu butonlara attribute olarak kullandığın iki bilgiyi o attributelere atadım

    <span id="subx1" class="btn" prodcode="A1000.H" buyprice="6.560"> ADD </span>

    ve subx id'sine bind ettiğin fonksiyonu aşağıdaki gibi değiştirdim.


    var x = new Array();

    $('.btn').click(function(){
    var y = $(this).index('.btn');
    x.push(new Array(
    $.trim($(this).attr('prodcode')),
    $('input').eq.val(),
    'ADD',
    $.trim($(this).attr('buyprice'))
    ));

    $('#sonuc').html(JSON.stringify(x));
    });

    ADD butonuna tıkladığımda aşağıdaki sonucu aldım
    [["A1000.H","2","ADD","6.560"],["A2000.L","3","ADD","3.560"],["A3000.L","2","ADD","3.560"]]

    Umarım istediğin şey budur.

    Array'a push ettiğin 3. parametreyi manuel olarak ADD olarak belirttim. sen istediğim gibi yapabilirsin. İstersen bir attribute ile istersen başka şekilde.

    KOlay gelsin.
    çok teşekkür ederim hocam tüm verileri çektim bu şekil fakat bir türlü input'un value'sunu çekemedim. çekmenin başka bir yolu var mı acaba ?
    html tarafı şu şekilde.

    <form action="<?=base_url('quotes_home')?>" method="post" style="width:auto;height:auto;margin-top: -50px;">
       <table id="example" class="display" cellspacing="0" width="100%"><thead><tr><th>QUANTITY</th><th>PRODUCT CODE</th><th>PRODUCT DESCRIPTION</th><th>SUGGESTED RETAIL PRICE</th><th>PRICE</th><th>DISCOUNT</th><th></th></tr>
    </thead>
    <tbody>
        <?php
         $id = "";
         $say=count($veri); for($x=3;$x<$say;$x++){$yeni[]=$veri[$x];} 
         foreach ($yeni as $keyX => $valueX) { $id = str_replace(".", "",  $valueX[A]);
           
         ?>   
        <tr>
         
         <td style="text-align: center;">
            <input name="adet[]" id="quantity" class="quantity" type="text" style="width: 70px;" data-id="<?=$id?>" />
        </td>
        <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>
  • 06-05-2015, 15:32:20
    #4
    Merhaba.
    İnputun value bilgisini çekmek için index kullanmıştım ve benim testlerimde problem yoktu. Fakat ben sadece add butonu ile ilgili bölüme odaklamıştım. Birkaç gün bilgisayar başında olamayacağım yarın sabah bebeğimiz dünyaya geliyor dolayısıyla pek internet falan olmayacak gözümde

    Eğer acil değilse hafta sonu denemeler yaparak sonucu bildiririm. Tablet üzerinde maalesef stabil çalışma imkanım olmuyor.
  • 06-05-2015, 16:15:06
    #5
    Üyeliği durduruldu
    erolife adlı üyeden alıntı: mesajı görüntüle
    Merhaba.
    İnputun value bilgisini çekmek için index kullanmıştım ve benim testlerimde problem yoktu. Fakat ben sadece add butonu ile ilgili bölüme odaklamıştım. Birkaç gün bilgisayar başında olamayacağım yarın sabah bebeğimiz dünyaya geliyor dolayısıyla pek internet falan olmayacak gözümde

    Eğer acil değilse hafta sonu denemeler yaparak sonucu bildiririm. Tablet üzerinde maalesef stabil çalışma imkanım olmuyor.
    Maşallah tebrik ederim hocam, Allah analıbabalı büyütsün. nasıl uygunsa.
  • 06-05-2015, 16:43:02
    #6
    Teşekkür ederim. Allah razı olsun.

    Hafta sonu bakayım o zaman.