我试图在更改选择选项更改时显示div。
我已经获得了每个选定选项的数据,但我希望在更改选择项目时显示该名称div。
当我点击将显示div的选项时,当我更改选择项时,它将更改div并且上面显示div将不可见。
代码:
$( "select" )
.change(function () {
var str = "";
$( "select option:selected" ).each(function() {
str += $( this ).text() + " ";
});
alert(str);
$( ".mobile" ).show();
})
.change();
我必须在$( ".mobile" ).show();
行使用什么?
我试过$( .str ).show();
但没有工作。
我想在选择更改时更改div。
我已显示警告框,显示所选选项的文字。
请提出任何建议。
答案 0 :(得分:2)
<强>标记:强>
<select name="sweets">
<option value="1">laptop</option>
<option value="2">mobile</option>
<option value="3">shoes</option>
<option value="4">watch</option>
<option value="5">tablet</option>
<option value="6">shirt</option>
</select>
<br>
<div class="device laptop" style="position: absolute;z-index: 1;">laptop</div>
<div class="device mobile" style="position: absolute;z-index: 1;">mobile</div>
<div class="device shoes" style="position: absolute;z-index: 1;">shoes</div>
<强>脚本:强>
$("select")
.change(function () {
var str = $("select option:selected").text();
$(".device").hide();
$("." + str).show();
})
答案 1 :(得分:1)
将此$( ".mobile" ).show();
更改为此=&gt; $("."+str).show();
因为你已经将你的jQ硬编码为.mobile
,所以它没有改变!! :)
所以最终的jQ是
$("select")
.change(function () {
var str = "";
$("select option:selected").each(function () {
str += $(this).text() + " ";
});
alert(str);
$("."+str).show(); /* changed here*/
})
.change();
修改强>
为此你可以使用
$( "div:visible" ).hide();
答案 2 :(得分:0)
你可以让它像这样工作 -
$("select").change(function () {
$('div').hide();
$('.'+$('option:selected',this).text()).show();
}).change();
演示----->
http://jsfiddle.net/nCRh6/7/
答案 3 :(得分:0)
试试这个
$( "select" )
.change(function () {
var str = "";
$( "select option:selected" ).each(function() {
str += $( this ).text() + " ";
});
alert(str);
$('div').hide()
$("."+str).show();
})
.change();
答案 4 :(得分:0)
答案 5 :(得分:0)
刚刚提出:
$( "div:visible" ).hide();
$( "."+str ).show();
答案 6 :(得分:0)