v2.5.2
Giriş yap

Birden Çok data ARRAY içinde alınabilir mi ? [ÇÖZÜLDÜ]

aydinkeskin
675 defa görüntülendi

sweet alert ile silme işlemi ypaıyorum.

data-id="id" den gelen id yi bu şekilde alıyorum.

var id = $(this).data('id');

	data: 'HepsiCopeAt='+id,
	
	
	şeklinde alıyorum. sorun yok silme sorunsuz.
	
	
	fakat

benim yapmak istediğim

o ID ye ait bütün kolonu başka bir tabloya ekletmek

tabloya felan php ile eklerimde

burda o id ye ait diğer kolonların verilerini nasıl çekicem.

tablo mesaj
id----ad----mesaj
1----melike----selam dünya

bunu alıp

tablo sakla
id----ad----mesaj

a aktarmak istiyorum ama dediğim gibi post işleminde

data: 'HepsiCopeAt='+id, buraya nasıl çekeceğim onları.

hepsine tek tek attr eklemek gerekiyor atıyorum

var ad = $(this).data('ad');
var mesaj = $(this).data('mesaj');

<a data-ad="ad" data-mesaj="mesaj"


bunun daha kısa bir yöntemi varmıdır acaba
ynswtf
1490 gün önce

Jquery ile bunu yapmak şahsen intihar etmeye eş değer. Sana lazım olan Vuejs,Angular yada React. Ben Vue kullanıyorum ve senin yaptığın işlemlere benzer sistem çok fazla iş yapıyor.

Php Controller'dan gelen array dizinini ilk etapda json formatına çeviriyorum.

<script>
    var $data = {users:{1:{isim:'prototürk',id:1,status:2} , 2:{isim:'yunus',id:2,status:2}}}
</script>

Bu veriyi daha sonra Vuejs'e aktarıyorum.

module.exports = {
    el: '#app',
    data:{
        return {
            users:window.$data.users
        }
    }
}

Bundan sonraki tüm işlemlerimde çok rahat bir şekilde işlem yapabiliyorum. Mesela sen id'si 1 olan veriyi silmek istiyorsun ama o verileri başka bir değerde tutmak istiyorsun diğelim.

Vue component düşünün

<template>
    <div>
        <table>
            <tr v-for="(user , index) in user" :key="index">
                <td>{{user.isim}}</td>
                <td>{{user.status}}</td>
                <td>{{user.id}}</td>
                <td><button @click.prevent="removeData(index , user)">Bu Kullanıcıyı Sil</button></td>
            </tr>
        </table>
    </div>
</template>

<script>
    module.exports = {
        el: '#app',
        data:{
            return {
                users:window.$data.users,
                silinmisVeriler: false
            }
        },
        
        methods:{
            removeData(id , data){
                this.users.splice(id , 0)
                this.silinmisVeriler = data
            }
        }
    }
</script>

Sizin şuanda istediğiniz bir yanıt olmayabilir fakat yapmak istediğiniz şey jquery ile oldukça zahmetli gözüküyor. Ancak aşağıdaki gibi alabilirsiniz bana göre

html tarafı

<table>
  <tr class="suidlidata">
    <td class="id">Yunus SENEM</td>
    <td class="status">Aktif</td>
    <td class="id">1</td>
  </tr>
</table>

js tarafı

var tablo = $('.suidlidata');

var alinacakveriler = ['.status' , '.name' , '.id'];
var alinmisveriler = [];

for (var key in alinacakveriler){
	var childKey = alinacakveriler[key];
	
	// aldığın verileride bu şekilde ekleyebilirsin istediğiniz dizine
    alinmisveriler[key] = tablo.children(childkey).val()
}