获取所选选择框的文本,然后将文本添加到空的范围

时间:2015-11-04 21:54:53

标签: javascript jquery

我有一个选择框

<select id="edit-field-article-category-tid" name="field_article_category_tid" class="form-select">
<option value="All" selected="selected">- Any -</option>
<option value="9">Press Releases</option>
<option value="13">-Product Announcements</option>
<option value="12">-Trade Show Announcements</option>
<option value="11">-Company News</option>
<option value="10">Case Studies</option>
<option value="159">Technical Resources</option>
</select>

现在我还有一个空的范围

<span class="art_cat"></span>

我要做的是,只要我从选择框中选择一个选项和/或更改所选选项,我就希望将SELECTED选项TEXT(非值)“复制”到空跨度。 ..

我写了这段代码,但我无法让它工作!有人可以帮我一把。

var art_cat = jQuery('#edit-field-article-category-tid').val();
jQuery('span.art_cat').html(art_cat);

3 个答案:

答案 0 :(得分:1)

使用$(this)会更清晰。

jQuery("select#edit-field-article-category-tid").change(function() {
    jQuery('span.art_cat').text($(this).find("option:selected").text()); 
});

此外,选择没有前导元素类型的元素会更有效。您基本上是先搜索select,然后在找到的那些选项中搜索ID,您可以在其中搜索ID并立即找到它。

所以:

jQuery("select#edit-field-article-category-tid")

应该是:

jQuery("#edit-field-article-category-tid")

答案 1 :(得分:0)

抱歉找到了解决方案,这里是代码:

jQuery("select#edit-field-article-category-tid").change(function(){
var art_cat = jQuery('select#edit-field-article-category-tid option:selected').text();
jQuery('span.art_cat').html(art_cat); 
});    
});

答案 2 :(得分:-1)

你可以这样做:

jQuery('#edit-field-article-category-tid').change(function() {
  var selected = $(this).find("option:selected").text();
  jQuery('span.art_cat').text(selected);
})

这是代码http://jsfiddle.net/a8en4xaa/1/ 我希望这能帮到你。