日期:2014-05-16  浏览次数:20412 次

下拉框控制文本框onClick
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<font size="2">选择
<select name="xm" >
  <option value="" selected="xz"></option>
  <option value="a">名称</option>
  <option value="b">日期</option>
  <option value="c">品牌</option>
</select>
</font>
<font size="2">改成
<input  id="nr"  type="text" size="20" onClick="Date(this)"  name="nr" value="" />
</font>
</body>
</html>

要求是在选择日期时文本框里的onClick="Date(this)" 有效,选择其他时就去除或者禁用。onClick="Date(this)" 是一个日期选择函数。


------解决方案--------------------
不要用系统已经存在的对象Date作为函数名,函数中判断选择的哪个项,value不是b(日期)就return false退出函数


<script>
    function ShowDate(txt) {
        if (document.getElementById('xm').value != 'b') return false;
        //....其他代码
    }
</script>

<font size="2">选择
<select name="xm" id="xm" >
  <option value="" selected="xz"></option>
  <option value="a">名称</option>
  <option value="b">日期</option>
  <option value="c">品牌</option>
</select>
</font>
<font size="2">改成
<input  id="nr"  type="text" size="20" onClick="ShowDate(this)"  name="nr" value="" />
------解决方案--------------------
我知道用jquery怎么写:
$("#selectid").change(function(){
  if($(this).val()=="b"){
    $("#nr").attr("onClick","Date(this)");
   }else{

 $("#nr").removeAttr("onClick");
   }
});
------解决方案--------------------
你的text总得添加事件吧,事件中增加那个控制不就行了

要不就得给select增加onchange事件,判断value为b

<select name="xm" onchange="document.getElementById('nr').onclick=this.value=='b'?显示时期的事件函数名称:null;" >
  <option value="" selected="xz"></option>
  <option value="a">名称</option>
  <option value="b">日期</option>
  <option value="c">品牌</option>
</select>
------解决方案--------------------
引用:
<!DOCTYPE html PUBLIC "-//W3C//DTD&