0

我正在编写一个小脚本,我注意到一些有重复元素的东西。在这种情况下$('#theSelect1 ..')重复,我想避免它。

$('#theSelect1').change(function(){
        //console.log ($(this));
        console.log(  
        $("#theSelect1 option:selected").text() // is there a way to change #theSelect1 to be $(this) inside this statement?  I try not to repeat things.  
        );
})

这是 HTML

            <select id="theSelect1">
            <option value="foo" selected="selected">1</option>
            <option value="bar">2</option>
            <option value="foobar">3</option>

谢谢

4

2 回答 2

5

您可以执行以下操作:

$(this).children("option:selected").text();

这将查看与您的选择器匹配的当前元素的子元素。这仅查看第一级后代,因此如果您想要任何后代,请使用以下内容:

$(this).find("option:selected").text();
于 2013-03-28T19:17:48.233 回答
2

你可以这样做:

var selectOne = $('#theSelect1').change(function(){
                     selectOne.find('option:selected').text(); 
                 });
于 2013-03-28T19:17:48.753 回答