如何使用jquery或javascript设置带有选定下拉选项文本的innerhtml?

时间:2014-11-20 06:25:01

标签: javascript jquery html

我想用选定的下拉选项文本

更改锚标记的内部文本

以下是我的下拉列表代码,在此下拉列表中选择了任何选项,我想在另一个锚标记中更新该选项的文本

<span style="white-space: nowrap;" class="" id="shopperlanguage_fs">
<select class="input" id="shopperlanguage" name="shopperlanguage">
<option value="ja_JP" class="japImg">japanees</option>
<option selected="" value="en" class="engImg">English (International)</option>/* whatever option is selected like this i want to get this text  */
</select>
</span>

我想更新主播标签class =&#34; dropdown-open&#34; innerhtml与上述下拉列表
列出所选文本

<div class="top-lang clearfix">
<div class="cat-select">
<a href="#" data-dropdown="#dropdown-2" class="dropdown-open"><img src="/site/images 
/lang_05.jpg"> English</a>    /* this is the anchor tag which innerhtml i want to change with selected dropdown option text */
</div>
</div>

假设如果在下拉列表中选择了具有text japanees的选项,那么我想将锚标记innerhtml text english更改为japanees。

这是我尝试的代码,但它无效

<script  type="text/javascript">
var e = document.getElementById("shopperlanguage"); 
var strUsertext = e.options[e.selectedIndex].text;
var langValue =$(".dropdown-open").text()
langValue.innerHTML= strUsertext;
</script>

4 个答案:

答案 0 :(得分:2)

我在您的标记中添加了<span class="text"></span>,因此选择目标区域会更容易:

&#13;
&#13;
$('#shopperlanguage').on('change', function() {
  $('.cat-select a span.text').text( $('option:selected',this).text() );
})
.change();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span style="white-space: nowrap;" class="" id="shopperlanguage_fs">
<select class="input" id="shopperlanguage" name="shopperlanguage">
<option value="ja_JP" class="japImg">japanees</option>
<option selected="" value="en" class="engImg">English (International)</option>
</select>
</span>
<div class="top-lang clearfix">
<div class="cat-select">
<a href="#" data-dropdown="#dropdown-2" class="dropdown-open"><img src="/site/images 
/lang_05.jpg"> <span class="text">English</span></a>
</div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

  

试试这个......:)

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js">     </script>
<span style="white-space: nowrap;" class="" id="shopperlanguage_fs">
<select class="input" id="shopperlanguage" name="shopperlanguage">
<option value="ja_JP" class="japImg">japanees</option>
<option selected="" value="en" class="engImg">English (International)</option>/* whatever   option is selected like this i want to get this text  */
</select>
</span>
<div class="top-lang clearfix">
<div class="cat-select">
<a href="#" data-dropdown="#dropdown-2" class="dropdown-open">
<img src="/site/images/lang_05.jpg"> English</a>    /* this is the anchor tag which innerhtml i want to change with   selected dropdown option text */
</div>
</div>
<script  type="text/javascript">
$('#shopperlanguage').change(function(){
$('.dropdown-open').text($(this).find('option:selected').text());
});
</script>

答案 2 :(得分:1)

尝试使用javaScript

var e = document.getElementById("shopperlanguage");
var strUsertext = e.options[e.selectedIndex].text;
document.getElementsByClassName("dropdown-open")[0].childNodes[1].nodeValue = strUsertext;

DEMO

使用On jquery改为Jquery

$('#shopperlanguage').on('change', function () {
    $(".dropdown-open")[0].childNodes[1].nodeValue = this.options[this.selectedIndex].text;
}).change();

DEMO

答案 3 :(得分:0)

<select name="abc" id="abc" onchange="chng()">
<option value=""></option>
<option value="English">English</option>
<option value="Japanese">Japanese</option>
</select>


<a href="#" id="atag">English</a>

<script>
function chng()
{
   var s= document.getElementById('abc').value;
   document.getElementById('atag').innerHTML = s;
}
</script>

这是有效的演示。请试一试。