<!
DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="yue-Hans" lang="yue-Hans">
<
head
>
<
meta
http-equiv="Content-Type" content="text/html; charset=gbk" />
<
title
>it works..............</
title
>
</
head
>
<
body
>
<
form
action="./" method="get">
<
dl
>
<
dt
>发布者</
dt
>
<
dd
>
<
select
name="q_role" onchange="role_change_type();">
<
option
value="company">中介</
option
>
<
option
value="person">个人</
option
>
</
select
>
<
select
name="q_type">
<
option
value="sale">出售</
option
>
<
option
value="lease">出租</
option
>
<
option
value="buy" style="display:none">求购</
option
>
<
option
value="hire" style="display:none">求租</
option
>
</
select
>
</
dd
>
</
dl
>
</
form
>
</
body
>
</
html
>
想实现一个很简单的功能:当选中“中介”时,不显示“求购”与“求租”。本以为通过display:none即可实现,结果发现在option元素上使用display:none在firefox中有效,在IE6、IE7、IE8中都无效。
所以,通过javascript设置display:none也是在IE中无效,代码如下:
<!
DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="yue-Hans" lang="yue-Hans">
<
head
>
<
meta
http-equiv="Content-Type" content="text/html; charset=gbk" />
<
title
>it works..............</
title
>
</
head
>
<
body
>
<
form
action="./" method="get">
<
dl
>
<
dt
>发布者</
dt
>
<
dd
>
<
select
name="q_role" onchange="role_change_type();">
<
option
value="company">中介</
option
>
<
option
value="person">个人</
option
>
</
select
>
<
select
name="q_type">
<
option
value="sale">出售</
option
>
<
option
value="lease">出租</
option
>
<
option
value="buy">求购</
option
>
<
option
value="hire">求租</
option
>
</
select
>
</
dd
>
</
dl
>
<
script
type="text/javascript">
function role_change_type()
{
var q_role=document.getElementsByName("q_role");
var q_type=document.getElementsByName("q_type");
var q_type_option=q_type[0].getElementsByTagName("option");
if(q_role[0].value=='company')
{
if(q_type[0].value=='buy'||q_type[0].value=='hire')
{
q_type[0].value='sale';
}
for(var i=0;i!=q_type_option.length;i++)
{
if(q_type_option[i].value=="buy"||q_type_option[i].value=="hire")
{
q_type_option[i].style.display="none";
}
}
}
if(q_role[0].value=='person')
{
for(var i=0;i!=q_type_option.length;i++)
{
q_type_option[i].style.display="";
}
}
}
role_change_type();
</
script
>
</
form
>
</
body
>
</
html
>
所以,只能通过select元素的remove和add方法,当选中“中介” 时,把“求租”和“求购”删除。代码如下:
<!
DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="yue-Hans" lang="yue-Hans">
<
head
>
<
meta
http-equiv="Content-Type" content="text/html; charset=gbk" />
<
title
>it works..............</
title
>
</
head
>
<
body
>
<
form
action="./" method="get">
<
dl
>
<
dt
>发布者</
dt
>
<
dd
>
<
select
name="q_role" onchange="role_change_type();">
<
option
value="company">中介</
option
>
<
option
value="person">个人</
option
>
</
select
>
<
select
name="q_type">
<
option
value="sale">出售</
option
>
<
option
value="lease">出租</
option
>
<
option
value="buy">求购</
option
>
<
option
value="hire">求租</
option
>
</
select
>
</
dd
>
</
dl
>
<
script
type="text/javascript">
var q_role=document.getElementsByName("q_role");
var q_type=document.getElementsByName("q_type");
var q_type_option=q_type[0].getElementsByTagName("option");
alert(q_role[0].value)
if(q_role[0].value=='company')
{
q_type[0].remove(3)
q_type[0].remove(2)
}
function role_change_type()
{
if(q_role[0].value=='company')
{
q_type[0].remove(3)
q_type[0].remove(2)
}
if(q_role[0].value=='person')
{
var x=document.createElement('option');
x.text='求购';
x.value='buy';
var y=document.createElement('option');
y.text='求租';
y.value='hire';
try
{
q_type[0].add(x,null);
q_type[0].add(y,null); // standards compliant
}
catch(ex)
{
q_type[0].add(x);
q_type[0].add(y); // IE only
}
}
}
</
script
>
</
form
>
</
body
>
</
html
>
这样在IE和firefox中都有效了。真费解啊,IE8竟然还不支持option的display:none 。
上面的代码还有一个问题:在IE7和IE8中 选中“个人”,然后刷新,将导致“求租”和“求购”被删除。在IE6和firefox3.5.5中正常。
标签: javascript, css, ie
相关推荐
2. 添加/删除选项:使用`add`方法添加新的选项,`remove`方法删除选项。 ```javascript var newOption = document.createElement('option'); newOption.value = 'option4'; newOption.textContent = '选项4'; ...
option.classList.remove('selected-option'); if (option.innerText === selectedOption) { option.classList.add('selected-option'); } }); } ``` 最后,为了实现与原生Select相同的功能,我们需要监听用户...
target.add(newoption) } }else{ //alert(obj.options.length) for (i=0;i;i++){ mot=obj.options[i].text mov=obj.options[i].value var newoption=document.createElement("OPTION"); newoption.text=mot...
本文将深入探讨如何使用JavaScript实现折叠样式和信纸选择样式,以提升用户体验。 折叠样式通常指的是网页中某些部分可以隐藏或展开的功能,这种设计能够有效地管理页面空间,使用户可以按需查看内容。实现...
* Add an option for choose input text or textarea for old tags field * Add an option for min chars autocompletion * Version 2.0-beta8 : * Update POT. * Update french translation. * Version 2.0-...
此外,可以使用CSS的`display`属性来控制其他表单内容的可见性。例如: ```css .form-content { display: none; /* 默认隐藏 */ } .show-form { display: block; /* 显示表单 */ } ``` 接下来,JavaScript是...
接着,我们将使用CSS来定义弹出选择框的样式,包括一个黑色半透明的覆盖层(`.black_overlay`)和一个白色的浮层(`.white_content`),这些元素在用户点击输入框时会被显示出来: ```css .black_overlay { ...
然而,仅用HTML和CSS实现腾讯云的样式并不足够。腾讯云的单选控件可能包含自定义图标、动画效果和独特的布局。这通常需要使用CSS预处理器(如Sass或Less)和JavaScript库来增强。例如,我们可以使用CSS创建一个圆圈...
- 使用命令`ima link add/remove`管理链路。 **4.6 设置ATM接口模式** - 使用命令`atm interface mode`调整接口模式。 **4.7 调整VPI/VCI使用范围** - 使用命令`atm interface vpi-range`、`atm interface vci-...
o Added 'Add Header Line To CSV/Tab-Delimited File' option. When this option is turned on, the column names are added as the first line when you export to csv or tab-delimited file. * Version 1.82...
可能需要使用polyfills或条件语句来处理不支持某些特性的旧版浏览器。 6. **测试与优化**:最后,进行详尽的测试,确保在不同场景下功能都能正确运行。同时,优化性能,减少不必要的计算和DOM操作,提高用户体验。 ...
14. Add/Remove Programs Option - 添加/删除程序选项,用于安装、卸载计算机上的应用程序。 15. Information Retrieval - 信息检索,是通过计算机系统从大量数据中查找所需信息的过程。 16. Voice Recognition ...
this.options.add(NewOption, idx); NewOption.innerText = innerText; NewOption.value = value; if (!this.bOriginalSelect) this.createOptionTr(idx); this.syncOptions(); this.adjustOptionsDiv(); ...
Issue 11137: Remove the gerrit.reportBugText configuration option. This option was only used in GWT, which has been removed. Upgrade JGit to 5.3.5.201909031855-r. This version includes a fix for ...
当列头的hyperlink被点击的时候后,它将会传递GridView的名字,列的索引和列名给HideCol方法,这个方法能找到这一列的每个单元格,每个单元格的将添加display:none样式,用来隐藏这一列. 当选择"Show Column"中的...
- NEW: Add multi-display support. - NEW: Add API DynamicFont(name, font). - IMPROVED: Compatibility with 2018.3. - FIXED: Incorrect letter spacing on mobile platform. - FIXED: Same transition hook may...
* 那么如果存在时就加不上去(数量),如果不存在时(如果不存在时的数量不一样时)就insert上去 * */ $province = M('prvices')->where ( array('pid'=>1) )->select (); $this->assign('province',$...
- `ExpList.add(new Option("New Option","3"))`:向下拉列表动态添加选项。 - `ExpList.remove(ExpList.selectedIndex)`:删除当前选中的选项。 - `ExpList.selectedIndex`:获取或设置下拉列表中当前选中的项。...