jquery实现select中option列表,选择其中一个option则显示对应div内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery实现select中option列表,选择其中一个option则显示对应div内容相关的知识,希望对你有一定的参考价值。

题目说的不太清楚,是不是下面的效果?

首先引用jquery

<script type="text/javascript" src="jquery.js"></script>

js代码

function chselect()
        
            var val = $("#s1").val();
            $("#option div").hide();
            $("#" + val + "").show();
        

html代码

<div>

        <select id="s1" onchange="chselect()">
            <option value="option1">option1显示</option>
            <option value="option2">option2显示</option>
            <option value="option3">option3显示</option>
        </select>
    </div>

   <div id="option">
       <div id="option1">我是option1</div>
       <div id="option2" style="display:none">我是option2</div>
       <div id="option3" style="display:none">我是option3</div>
   </div>

参考技术A <select id="s1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<div id="div1">1</div>
<div id="div2" style="display:none">2</div>
<div id="div3" style="display:none">3</div>

<script type="text/javascript">
$(document).ready(function()
$("#s1").change(function()
var item = $(this).val();
$("div").hide();
$("#div"+item).show();
);
);
</script>

参考技术B 可以使用bootstrap来实现你要的效果。
地址:http://www.runoob.com/bootstrap/bootstrap-tab-plugin.html
参考技术C 测试无效,是不是需要加载jq? 参考技术D 你这问题问的

使用jQuery从下拉列表(选择框)中获取所选文本

如何从jQuery的下拉列表中获取所选文本(而不是选定的值)?

答案
$("#yourdropdownid option:selected").text();
另一答案

各种方式

1. $("#myselect option:selected").text();

2. $("#myselect :selected").text();

3. $("#myselect").children(":selected").text();

4. $("#myselect").find(":selected").text();
另一答案
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});
另一答案
var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});

这将有助于您获得正确的方向。如果您需要进一步的帮助,请通过以上代码进行全面测试。

另一答案

请用这个

var listbox = document.getElementById("yourdropdownid");
var selIndex = listbox.selectedIndex;
var selValue = listbox.options[selIndex].value;
var selText = listbox.options[selIndex].text;   

然后请提醒“selValue”和“selText”。您将获得所选的下拉值和文本

另一答案

对于那些使用SharePoint列表并且不想使用long生成的id的人,这将起作用:

var e = $('select[title="IntenalFieldName"] option:selected').text();
另一答案
 $("#selectID option:selected").text();

你可以使用任何jQuery选择器代替#selectID,比如使用类的.selectClass

正如文档here中提到的那样。

:选定的选择器适用于<option>元素。它不适用于复选框或无线电输入;使用:checked为他们。

.text()根据文档here

获取匹配元素集中每个元素的组合文本内容,包括它们的后代。

因此,您可以使用.text()方法从任何HTML元素中获取文本。

请参阅文档以获得更深入的解释。

另一答案
$("select[id=yourDropdownid] option:selected").text()

这很好用

另一答案
$('#id').find('option:selected').text();
另一答案

用于获取选定的值

$('#dropDownId').val();

并获取所选项目文本使用此行:

$("#dropDownId option:selected").text();
另一答案

在下拉列表中选择文本和选定的值/在jQuery中选择更改事件

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})
另一答案

试试这个:

$("#myselect :selected").text();

对于ASP.NET下拉列表,您可以使用以下选择器:

$("[id*='MyDropDownId'] :selected")
另一答案

使用:

('#yourdropdownid').find(':selected').text();
另一答案
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
另一答案

以下为我工作:

$.trim($('#dropdownId option:selected').html())
另一答案

在兄弟情况下

<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
  <option value="">Select Client name....</option>
  <option value="1">abc</option>
</select>


 /*jQuery*/
 $(this).siblings('select').children(':selected').text()
另一答案

这项工作对我来说:

$("#city :selected").text();

我正在使用jQuery 1.10.2

另一答案

尝试:

$var = jQuery("#dropdownid option:selected").val();
   alert ($var);

或者要获取选项的文本,请使用text()

$var = jQuery("#dropdownid option:selected").text();
   alert ($var);

更多信息:

另一答案

$(function () {
  alert('.val() = ' + $('#selectnumber').val() + '  AND  html() = ' + $('#selectnumber option:selected').html() + '  AND .text() = ' + $('#selectnumber option:selected').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>

  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <select id="selectnumber">
          <option value="1">one</option>
          <option value="2">two</option>
          <option value="3">three</option>
          <option value="4">four</option>
        </select>

      </div>
    </form>
  </body>
</html>
另一答案

只需尝试以下代码即可。

var text= $('#yourslectbox').find(":selected").text();

它返回所选选项的文本。

另一答案

如果您希望将结果作为列表,请使用:

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})
另一答案

对于多选:

$("#yourdropdownid :selected").map(function(i, v) { return $.trim($(v).text()); }
另一答案

例如,这里发布的答案,

$('#yourdropdownid option:selected').text();

不适合我,但这样做:

$('#yourdropdownid').find('option:selected').text();

它可能是jQuery的旧版本。

另一答案
$("#dropdownid option:selected").text();

如果你使用asp.net并写

<Asp:dropdownlist id="ddl" runat="Server" />

那你应该用

$('#<%=ddl.Clientid%> option:selected').text();
另一答案

如果您已经在变量中提供了下拉列表,这对我有用:

$("option:selected", myVar).text()

关于这个问题的其他答案对我有帮助,但最终jQuery论坛帖子$(this + "option:selected").attr("rel") option selected is not working in IE帮助最大。

更新:修复了上面的链接

另一答案
$("option:selected", $("#TipoRecorde")).text()
另一答案

这适合我

$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});

如果元素是动态创建的

$(document).on("change", "#dropdownid", function() {
    alert($(this).find("option:selected").text());
});
另一答案

$("#DropDownID").val()将给出所选的指数值。