2017-07-07 10 views
1

を隠すことができない私のコードです:Ajaxはコンテンツを生成し、ここでするときのonclick

HTMLコード:(AJAXによって生成される動的)。

<div class="btn btn-primary" image-data="imagedata" name-data="name data" artist-data="artist data" country-data="in" id="1252785363" onclick="ajax($(this));return false;">Add Album</div> 
<div class="btn btn-primary" image-data="imagedata" name-data="name data" artist-data="artist data" country-data="in" id="1252985363" onclick="ajax($(this));return false;">Add Album</div> 
<div class="btn btn-primary" image-data="imagedata" name-data="name data" artist-data="artist data" country-data="in" id="1256985363" onclick="ajax($(this));return false;">Add Album</div> 

各DIVには一意のIDがあります。

Javascriptを:

function ajax($this) { 
    var id = $this.attr("id"); 
    var image_data = $this.attr("image-data"); 
    var name_data = $this.attr("name-data"); 
    var artist_data = $this.attr("artist-data"); 
    var country_data = $this.attr("country-data"); 

    $.ajax({ 
    method: "POST", 
    url: "URL to Call", 
    dataType: "text", 
    data: { 
     image: image_data, 
     artist: artist_data, 
     name: name_data, 
     country: country_data, 
     id: id 
    }, 
    success: function(response) { 
     console.log(response); 
     $(id).hide(); 
     alert(id); 
    } 
    }); 
} 

私は$(id).css('display', 'none');、トグルが、運を試し、その応答は、そのアラートのIDを返しますが、何らかの形で私は見つけることができません!

可能であれば、私に解決策を教えてください!

+0

アラート(id)は何を返しますか? –

+0

@SachinBahukhandiそのDIV idの値を返します! – Muhammad

+1

トピックを外してください:onclickハンドラをイベントリスナで置き換える方法を調べてください。 jQueryはそれには美しく、マークアップはよりクリーンになります。 – isherwood

答えて

6

接頭辞#を使用してIDを選択する必要があります。

$("#" + id).hide(); 
+0

ありがとう、あなた!答えは次の6分で受け入れられるでしょう:) P .:私はまだJavascript(Jquery)で学んでいません! – Muhammad

3

あなたが読んでいるid属性を使用すると、要素を検索するときにjQueryのは望んで#セレクタを、含まれていません。

代わりに$("#" + id).hide();を使用すると、あなたが探している結果が得られると思います。

関連する問題