2011-10-01 96 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() {...}); 

短,同樣的精度

相關問題