jquery每个css数组

时间:2009-12-21 22:46:06

标签: jquery css ajax

我创建了一个每个语句,它遍历找到的每个类项。同时还有另一个具有不同类但具有相同键的项。我需要从第一个中获取密钥并将其放入第二个项目而不必再次循环。

$('.searchby').each(function(k,v){ // looping through .searchby
    $(v).live('change',function(){ // when .searchby drop down changed do this
        selv = $(this).val(); // get value of drop down
        $.post('file.php',{ 'val' : selv },function(data){

            // Below is where I need what I need to happen.
            // Previously I had .searchby as id but need multiple.
            // So, what I need it to do is like php.
            // $('.searchfield[k]).html(data); // <-- like this

            $('#searchfield').html(data);


        },'html'); // html, xml, script, json
    });
});

- 编辑 -

首先,$(v).live中的v应为$(this).live 2,我想将single / id pull脚本转换为多拉脚本。所以,我写了这个有效。

$('.searchby').each(function(k,v){
    $(this).change(function(){
        selv = $(this).val();
        $.post('file.php',{
            'val' : selv
        },function(data){
            $('.searchfield').each(function(kk,vv){
                if(k == kk) $(vv).html(data);
            });
            //$('#searchfield').html(data);
        },'html'); // html, xml, script, json
    });
});

但是我希望能够将内部的.each取出并替换为:

$('.searchfield:eq('+k+')') <-- something like this if I can get it to work

所以解决方案就是:

$('.searchby').each(function(k,v){
    $(this).change(function(){
        selv = $(this).val();
        $.post('file.php',{
            'val' : selv
        },function(data){
            $('.searchfield:eq('+k+')').html(data);
        },'html'); // html, xml, script, json
    });
});

谢谢大家

2 个答案:

答案 0 :(得分:1)

我怀疑上面的$(v)不正确,因为$(...).each()使用单个记录的参数(索引)提供其回调。

为了达到$('.searchfield[k]')的效果,实际上有一个非常接近的语法:

$('.searchfield:eq('+k+')')

答案 1 :(得分:0)

问题不明确。您谈论的是类,但随后您的代码使用$('#searchfield'),用于选择具有给定ID的元素。

假设你真的想要选择具有给定类的元素(更正确,因为不应该有具有重复ID的元素),并且对于选择的每个元素,如果只有一个元素具有类searchfield $.each(),然后您可以使用$($('.searchfield')[k]).html(data)