2011-10-01 81 views
0

我有一些javascript,允许我在用户更改国家时使用json将状态加载到下拉列表中。除了我不能在页面上有多个国家/州下拉菜单的组合外,这种方法非常有效。因此,考虑到HTML类似如下:

<div id="div1" data-ajax-address="owner"> 
    <select id="country1" data-ajax-address="country"></select> 
    <select id="state1" data-ajax-address="state"></select> 
</div> 
<div id="div2" data-ajax-address="owner"> 
    <p> 
     <select id="country2" data-ajax-address="country"></select> 
    </p> 
    <p> 
     <select id="state2" data-ajax-address="state"></select> 
    </p> 
</div> 

我希望能够做这样的事情:

$('div[data-ajax-address="owner"]').each(function() { 
    $(this).children('select[data-ajax-address="country"]).change(function() { 
     .... 
    }); 
}); 

到div中访问的国家/国家选择的元素。我不能使用children(),因为它们可以嵌入到另一个元素中 - 比如嵌入在段落标签内的state2 & state2。

关于我如何完成此任何想法?

谢谢。

回答

2

试着这么做:

$('div[data-ajax-address="owner"]').each(function() { 
    $(this).find('select[data-ajax-address="country"]').change(function() { 
     .... 
    }); 
}); 

更多信息:http://api.jquery.com/find/

+0

谢谢吨!这工作完美! – RHarris

0

你可以做后人的直接选择,如果你想:

$('div[data-ajax-address="owner"] select[data-ajax-address="country"]').change(function() {...}); 

短,同样的精度

相关问题