2012-03-23 15 views
3

私は、mySQLに接続されている何らかの追加/削除タグリストを構築しています。私はデータベースからajax呼び出しで表示するタグを取得することができましたが、私はそれらの操作を行うことはできません。一般的なスタイルでもない。私がFirebugでチェックすると、すべてのhtmlが適切な場所にあるように見えるので、何が間違っているのか理解できません。jQueryの.css関数が機能しないのはなぜですか?

のjQuery:ここに私のコードです

$(document).ready(function() { 

    $("#ontvangenjson").css("border","3px solid red"); 


    $.getJSON("jason2.php", function(data) { 

     $.each(data, function(){ 

     var merkTag = " <a class=\"deletemerk\" href="+"http://localhost/website/remove_merk.php?id="+this.pkFavorietemerken+">" + this.merken + "</a>"; 

     $("#ontvangenjson").append(merkTag); 

       }); 

      }); 

     }); 

PHP:JSONを受け

$merken_lijst = "SELECT favorietemerken.pkFavorietemerken, favorietemerken.merken FROM favorietemerken JOIN bedrijven ON bedrijven.pkBedrijvenID=favorietemerken.fkBedrijvenID WHERE favorietemerken.fkBedrijvenID=$neem_id"; 


$rows = array(); 
$sth = mysql_query($merken_lijst); 
while($r = mysql_fetch_assoc($sth)) { 
$rows[] = $r; 
} 
print json_encode($rows); 

jason2.php:

[{"pkFavorietemerken":"71","merken":"Nike"},{"pkFavorietemerken":"70","merken":"Le Coq Sportif"},{"pkFavorietemerken":"69","merken":"Converse"},{"pkFavorietemerken":"68","merken":"Champion"},{"pkFavorietemerken":"67","merken":"Adidas"}] 

HTML:

<body> 


    <h1><label for="brands-form-brand">Get JSON data</label> <input type="button" id="knop" value="get JSON" /></h1> 

    <hr /> 

    <p class="section-title"><strong>JSON Data received</strong></p> 


    <div id="ontvangenjson"> </div> 

</body> 

ANSWERたくさんした後

は、たくさん、研究の多くは、私がfinalyこの問題を解決してきました。コードは間違っていたわけではありませんが、その一部は間違っていました。 getJSONは、jQuery .css関数を使用して変更を加えたい場合は、getJSONのコールバック内で行う必要がある場合は非同期の意味です。

$.getJSON("jason2.php", function(data) { 
    var merkTag = ""; 
    $.each(data, function(){ 
    merkTag += " <a class=\"deletemerk\" href="+"http://localhost/website/remove_merk.php?id="+this.pkFavorietemerken+">" + this.merken + "</a>"; 
    }); 

    $("#ontvangenjson").append(merkTag); 

    // NEW CODE 
    $(".deletemerk").css("border","3px solid red"); 
    }); 

答えて

0

私は、これはあなたの問題を解決するわからないんだけど、私はあなたがそのリンクを作っている方法をクリーンアップしようとすることから始めます。あなたは1つまたは2つの引用符を見逃しているかもしれません。代わりに、エスケープ引用符または二重引用符をエスケープするために失敗の混乱、ちょうど単一引用符を使用して文字列を囲むの:

var merkTag = '<a class="deletemerk" href="http://localhost/website/remove_merk.php?id=' 
       + this.pkFavorietemerken 
       + '">' 
       + this.merken 
       + '</a>'; 

これは、HTML文字列を構築しているとき、二重引用符を使用すること自由にあなたを残します。ここでは、わかりやすくするために複数の行を使用しました。簡潔さ以上の明瞭さ。

+0

はい私のリンクはきれいに作成されていないことを認めますが、残念ながらこれは問題ではありません。私はあなたのリンクでこれをテストしました。 –

4

簡略化プロパティ(borderなど)はjQuery.css()ではサポートされていません。

http://api.jquery.com/css/

+0

これは奇妙なことですが、これは私のページの他の要素でも機能します。しかし、私はそれを念頭に置いておきます。 –

1

あなたが境界線のすべての3つのプロパティを使用する場合は、独立して、それらを定義してみてください、それはあなたの問題を解決する可能性があります。

+0

@Patrik Bhatt、本当の問題は、私も$( "#ontvangenjson")でもアラートでさえ何らかのアクションを実行できないようです –

関連する問題