感谢stackflow专家,我有一个为一个客户工作的变体,但对于另一个客户,我需要类似但不同的东西。由于代码稍后会发生的事情,我需要使用“If 语句”,但我不能这样做:
我只希望下面的代码>>,如果收音机选择的值=“房子”,运行这个代码,看看“房子”是否是下拉列表中值的一部分,如果是,只显示那些值下拉菜单。与船、公寓等相同。
我在这里做错了什么?
任何帮助,非常感谢。
jsFiddle在这里: http://jsfiddle.net/justmelat/kkk7J
/
html在这里:
<form method="post">
<fieldset id="Group1" name="Group1">
<legend>Group box</legend>
<input id="Radio1" name="Radio1" type="radio" value="House" />House<br />
<input id="Radio1" name="Radio1" type="radio" value="Condo" />Condo<br />
<input id="Radio1" name="Radio1" type="radio" value="Boat" />Boat<br />
</fieldset><br/><br/>
<fieldset id="Group2" name="Group2">
<legend>Group Options</legend>
<select id="Select1" name="Select1">
<option value="HO-House 1">House 1</option>
<option value="HO-House 2">House 2</option>
<option value="HO-House 3">House 3</option>
<option value="CO-Condo 1">Condo 1</option>
<option value="CO-Condo 2">Condo 2</option>
<option value="CO-Condo 3">Condo 3</option>
<option value="BO-Boat 1">Boat 1</option>
<option value="BO-Boat 2">Boat 2</option>
<option value="BO-Boat 3">Boat 3</option>
</select></fieldset></form>
这里的javasript:
function whichTypeChange()
{
//other stuff going on here
var $typeVal = $("input[name=Radio1]:checked").val();
var oldoptions = "";
var oldoptions = [];
if($typeVal == "House")
{
$("#Select1").append(oldoptions);
oldoptions = $("#Select1 option:not(:contains(" + ($typeVal) + "))").detach();
}
if($typeVal == "Condo")
{
$("#Select1").append(oldoptions);
oldoptions = $("#Select1 option:not(:contains(" + ($typeVal) + "))").detach();
}
if($typeVal == "Boat")
{
$("#Select1").append(oldoptions);
oldoptions = $("#Select1 option:not(:contains(" + ($typeVal) + "))").detach();
}
//other stuff going on here
}
======================================= 好吧,我正在把自己挖到一个更深的洞里。我现在正在开发实际的应用程序。代码如下:
正如其他人提到的那样,我主要需要使用分离功能来使这项工作在 IE 中工作,但下拉列表中的值没有按应有的方式显示/不显示 - 任何人都可以看到我的错误吗?先感谢您。
typeVal = $("input[name=6535]:checked").val(); //radio buttons
var jobTypeFld_DD = "";
jobTypeFld_DD = $('#3547'); //dropdown field
var optionInDD = []; //array to hopd dropdown options
optionInDD = jobTypeFld_DD.find('option'); //use this for something else
optionInDD2 = jobTypeFld_DD.find('option'); // cache all options on page load
var visibleItems = "";
if (typeVal == "Art")
{
$('fieldset#section-417').show();
thisval = 'Art -';
visibleItems = optionInDD2.filter('option[value*=' + thisval + ']'); // options to show
optionInDD2.not(visibleItems).detach(); // remove all options
optionInDD2.append(visibleItems); // add options to show
}