0

当我的 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)
                        }
                    }

任何人都知道我怎样才能得到这个值?

4

2 回答 2

0

我认为问题可能是当您的页面加载时,您正在寻找的元素尚未加载,因此您的选择器尚未绑定到任何东西。这实际上是使用 javascript 加载 html 时的常见问题。

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

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

于 2012-08-22T07:43:32.237 回答
0

尝试:

$(this).attr("value")

代替:

$(this).val()

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

或者您可能喜欢使用 html5data-属性并使用:

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

接着:

$(this).attr("data-value")
于 2012-08-22T03:27:13.280 回答