2012-03-23 3 views
3

나는 mySQL과 연결된 태그리스트를 추가/제거하고있다. 나는 데이터베이스에서 Ajax 호출로 표시 할 수 있도록 태그를 관리했지만 모든 작업을 수행 할 수는 없다. 일반적인 스타일조차도 아닙니다. 방화범이 끌려서 모든 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> 

답변 많이 후

은 많이 연구 많이 나는 마침내이 문제를 해결했습니다. 이 코드는 실제로 잘못이 아니었지만 그 부분은 잘못 배치되었습니다. getJSON은 getJSON에 대한 콜백 내부에서 수행해야하는 jQuery .css 함수를 사용하여 변경하려는 경우 비동기 의미입니다.

$.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

이 방법으로 문제를 해결할 수 있는지는 잘 모르겠지만 링크를 만드는 방법을 정리하는 것으로 시작합니다. 하나 또는 두 개의 따옴표가 누락되었을 수 있습니다.

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

,이 문제를 해결할 수있는, 독립적으로 정의하려고합니다.

+0

@Patrik Bhatt, 실제 문제는 $ ("# ontvangenjson")에 대한 어떤 종류의 작업도 수행 할 수없는 것 같습니다 –

관련 문제