2012-08-22 4 views
0

내 아약스 응답이 성공하면, 다음과 같은 코드가 있습니다아약스 응답 사업부에서 값을 가져올 수 없습니다

<body> 
{% load custom_filters %} 
{% for modulo in modulos %} 
<div align="left" class="result" value="{{ modulo.nome }}"> 
    {{ modulo.nome }} {{ modulo.versao }}.{{ modulo.chave_revisao|soma_um|mascara_versao }} 
</div> 
{% endfor %} 

: 이것이 내가 추가 응답 HTML입니다

success : function(response) { 
       $('#texto').append(response); 
      } 

div가 나타나지만 값을 사용하려고하면 빈 문자열이 나타납니다. 그리고 그 비교는 거짓입니다.

$('.result').each(function(){ 
        for (i=0; i<=vetBuscar.length;i++){ 
         if($(this).val() == vetBuscar[i]){ 
          return true; 
         } else { 
          vetBuscar.pop(i) 
         } 
        } 

누구든지이 값을 얻을 수 있음을 알고 있습니다.

+0

가 왜 응답이''태그가 포함 않습니다

체크 아웃의 jQuery CSTE 연구진() 이벤트 핸들러는, 당신이 찾고있는 무엇을 정확하게 할 수 있다고 생각? –

+0

AJAX 호출이 완료된 후 Django 템플릿 태그/for 루프를 div에 추가 하시겠습니까? 그것들은 클라이언트에게 보내기 전에 템플릿을 렌더링 할 때 평가됩니다. 성공한 AJAX 호출 후에 추가하면 class = "result"가있는 div가 하나만 있고 변수가 무엇이든간에 값이 "{{modulo.name}}"가됩니다. 보류합니다. – Mikael

+0

@ goliney 그냥 오타입니다. 감사합니다. –

답변

0

보십시오 : 대신

$(this).attr("value") 

는 :

$(this).val() 

일반적으로 div를가 value 속성을 가지고 있지 않으며, .val() 방법은 할 (양식) 요소를위한 것입니다.

또는 당신이 HTML5 data- 속성을 사용하고 사용하실 수 있습니다 : 다음

<div align="left" class="result" data-value="{{ modulo.nome }}"> 

과 :

$(this).attr("data-value") 
0

나는 문제가있을 수 있습니다 생각 할 때 페이지가로드 요소 당신에게 ' 찾고있는 항목이 아직로드되지 않아 선택기가 아직로드되지 않았습니다. 이것은 실제로 javascript를 사용하여 HTML을로드 할 때 일반적인 문제입니다.

http://api.jquery.com/on/

관련 문제