[英]Show extra form input fields when an html select option is clicked
不幸的是,我希望當選擇一個選項時文本字段的選擇變得可見(並隱藏其他字符),不幸的是,我對JavaScript的嘗試很糟糕。
aaa選擇xxx,yyy可見bbb選擇xxx,zzz可見ccc選擇yyy,zzz可見
.aaa, .bbb, .ccc {
display:none;
}
<select onchange="showExtra(this)">
<option>Select</option>
<option value="aaa">AAA</option>
<option value="bbb">BBB</option>
<option value="ccc">CCC</option>
</select>
<div class="aaa bbb">
<input name="xxx" type="text" />
</div>
<div class="aaa ccc">
<input name="yyy" type="text" />
</div>
<div class="bbb ccc">
<input name="zzz" type="text" />
</div>
function showExtra(option)
{
var divClass = option.value;
$(divClass:not).hide();
$divClass.slideDown('medium');
}
我重新格式化了幾件事:
的HTML:
<select id="selector">
<option>Select</option>
<option value="aaa">AAA</option>
<option value="bbb">BBB</option>
<option value="ccc">CCC</option>
</select>
<div class="aaa bbb op">
<input name="xxx" type="text" placeholder="xxx"/>
</div>
<div class="aaa ccc op">
<input name="yyy" type="text" placeholder="yyy"/>
</div>
<div class="bbb ccc op">
<input name="zzz" type="text" placeholder="zzz"/>
</div>
在jQ函數中為選擇器提供了一個要觸發的ID,還為每個隱藏選項提供了一個共同的類以一次選擇所有對象。
jq:
$('#selector').on('change',function()
{
var divClass = $(this).val();
$(".op").hide();
$("."+divClass).slideDown('medium');
});
將onChange綁定到選擇器,獲取當前值,隱藏所有選項,顯示相關選項http://jsfiddle.net/66rN8/1/
var showExtra = function(option)
{
var divClass = option.value;
$("div:not(." + divClass + ")").hide();
$("." + divClass).slideDown('medium');
}
值得注意的是,您還應考慮添加div:not
否則,如果選擇不符合計划,則可能會隱藏選擇內容。
請記住:按類名稱進行選擇是必需的.
在.className
等中,請閱讀有關選擇器的信息:)
或者,您可以切換樣式的顯示屬性。
function showExtra(option)
{
var divClass = option.value;
$('.' + divClass).css({ display: 'inline' });
}
像這樣嗎 jQuery的方式http://jsfiddle.net/HxGQ6/
$(document).ready(function(){
$('select').change(function () {
var a=$(this).find("option:selected");
var b=a.val();
$(".aaa,.bbb,.ccc").hide();
$("."+b).show();
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.