无法从ajax响应div获取值

时间:2012-08-22 03:24:57

标签: jquery ajax django

当我的ajax响应成功时,我有以下代码:

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

这是我追加的回复html:

<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 %}

显示div,但是当我要使用它们的值时,我会得到一个空字符串。这种比较是错误的。

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

任何人都知道如何获得这个价值?

2 个答案:

答案 0 :(得分:0)

尝试:

$(this).attr("value")

而不是:

$(this).val()

通常div没有value属性,.val()方法适用于(表单)元素。

或者您可以使用html5 data-属性并使用:

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

然后:

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

答案 1 :(得分:0)

我认为问题可能是当你的页面加载时,你正在寻找的元素还没有被加载,所以你的选择器还没有绑定任何东西。当使用javascript加载html时,这实际上是一个常见问题。

查看jQuery .on()事件处理程序,我认为它可能正是您正在寻找的内容:

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