Jquery dizileri kullanarak

7 Cevap php

İşte bir koddur:

<input type="button" id="array[1]" value="Value1" />
<input type="button" id="array[2]" value="Value2" /> 
<input type="button" id="array[3]" value="Value3" /> 

Ve ben böyle bir şey yapmak istiyorum:

$('#array').click(function() {
    id = this.id;       
    $.ajax({
        here goes type, url, data and else
    });     
})  

I id dizisinin numarasını eklemek istiyorum. Ben kimliği düğmesini tıklatın Örneğin, array[3] böylece id jQuery fonksiyonu içinde 3 değerini alır. Ne demek istediğimi aldım umuyoruz.

7 Cevap

İlk olarak [] id değerleri kullanılarak sadece ... a-zA-Z0-9-_.: olmamalıdır

özellikleri hakkında daha fazla bilgi için html ID attribute bakmak ..

you should name them something like id_1 and extract the number with regular expressions like the other answers suggest...
(remember that you cannot start the id value with a number only a-zA-Z)

Ben her dizide sınıfı eklemek denemek istiyorsunuz.

<input type="button" class='array' id="array[1]" value="Value1" />
<input type="button" class='array' id="array[2]" value="Value2" /> 
<input type="button" class='array' id="array[3]" value="Value3" /> 


$('.array').click(function() {
   var id = $(this).attr('id');       
    $.ajax({
        here goes type, url, data and else
    });     
})  

Umarım yardımcı olur

Sayı ayıklamak için bir regexpi kullanın

var reId = /[(\d+)]/;
$('#array').click(function() {
    var id = reId.exec($(this).attr("id"))[0];       
    $.ajax({
        //id is now a string containing only the number
    });     
})  

A ham yaklaşım:

$(this).attr("id").replace(/[^0-9]*/ig, "")

Tam bir örnek:

<!DOCTYPE html>
<html>
<head>
    <title>2939346</title>
    <script src="http://www.google.com/jsapi"></script>
    <script>google.load("jquery", "1");</script>
    <script type="text/javascript" charset="utf-8">
        $(document).ready(function(){
            $("input[type=button]").click(function(){
                alert($(this).attr("id").replace(/[^0-9]*/ig, ""));
            });
        });
    </script>
</head>
<body>
    <input type="button" id="array[1]" value="Value1" />
    <input type="button" id="array[2]" value="Value2" /> 
    <input type="button" id="array[3]" value="Value3" />
</body>
</html>

sizin elemanların içinde saklamak içerik i yerine diziler kullanarak xmaple için, bunları saklamak için veri-* kullanmak wuold eğer ben bir json dize kullanırsınız

<input type="button" class='array' data-json="{id:22,defualt_val:'Value1'}" value="Value1" />

sonra javascript kodu içinde ben kullanmak istiyorum!

$('input[data-json]').click(function(){
    $data = $('[data-json]',this)
    $.ajax({
        data:$data
    });     
}) 

Bu, vb orijinal başlık gibi bir öğeye içeriği saklamak için kullanılan bir yöntemdir

Ben bu sorunu çözmek yardımcı olabilir düşünüyorum. Bildiğim kadarıyla anlamak giriş kimlikleri dizi anahtar kelime ile başlar ve getirme ve bir ajax çağrısı göndermek istiyorum parantez içinde özgün kimliği içerir. Önceden tanımlanmış bazı dize ile başlar elemanları için, $ ("[name ^ = value]") jQuery seçici kullanabilirsiniz.

$("input[id^='array']").click(function() {
    var id = parseInt($(this).attr("id").split("[")[1].slice(0,-1));     
   //above variable should contain whatever you put inside brackets. 
    $.ajax({
        here goes type, url, data and else
    });     
});

That should give desired results. Cheers Ayaz Alavi

Kimliği nitelikleri kurtulun, ortak bir sınıf array ekleyebilir ve onlara her bir ad verin array[].

Sonra jQuery kullanmak;

$('input.array').click(function() {
    var id = $(this).val();      
    $.ajax({
        here goes type, url, data and else
    });     
})