我想做一个,当下拉菜单选择“年”时,wdatepicker以“yyyy”的形式显示;选择“月”时,以“yyyy-mm”的形式显示;选择“周”时,以“yyyy-mm-dd”的形式显示。但是,我的代码还有问题,请各位大侠帮我看看!以下是我的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//CH"
"http://www.w3.org/TR/html4/loose.dtd">
<html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
    <title>test11</title>  <script type="text/javascript" >
  //var btn1Obj = document.getElementById("1111"); 
  
function applyContent()
{

    if(document.getElementById("pptType").value=="year")
    {  
     document.getElementById("1111").value=""; 
     document.getElementById("1111").onclick=test1;
        
    }
    else if(document.getElementById("pptType").value=="month")
     {
      document.getElementById("1111").value=""; 
      document.getElementById("1111").onclick=test2;
        
     }
    else if(document.getElementById("pptType").value=="week")
     { 
      document.getElementById("1111").value="";  
      document.getElementById("1111").onclick=test3;
    
     }
    else if(document.getElementById("pptType").value=="day")
     {
      alert("day"); 
     }}
function test1() 
{
alert("year2");
    WdatePicker({skin:'whyGreen',dateFmt:'yyyy'});
   // document.getElementById("2222").value="年"; 
 } 
function test2 () 
{
alert("month2");
    WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM'});
   // document.getElementById("2222").value="月";  
 } function test3() 
{
alert("week2");
    WdatePicker({isShowWeek:true});
   // document.getElementById("2222").value="周";  
 }  </script>
   <script language="javascript" type="text/javascript" src="DatePicker/WdatePicker.js"></script>
   </head>
    <body>
  <form id="test">
  <input id = "1111"  type="text" class="Wdate" onClick="">
   <select  id="pptType" onchange="applyContent()" >
    <option value="year" >年</option>
    <option value="month" >月</option>
    <option value="week">周</option>
    <option value="day">日</option>
   </select><br>
<br>
   <div id="testId"></div>
  </form>
    </body>
</html>

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>   
      <head>   
      <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
      <title>test11</title>
    <script language="javascript" type="text/javascript" src="DatePicker/WdatePicker.js"></script>  
    <script type="text/javascript">   
      
    var myDateFMT='yyyy-MM-dd';
    function a(){WdatePicker({dateFmt:myDateFMT});}   
      
    function b(obj){   
        if(obj.value == '年'){   
            myDateFMT='yyyy';   
        }   
        else if(obj.value=="月"){   
            myDateFMT='yyyy-MM';   
        }   
        else{   
            myDateFMT='yyyy-MM-dd';   
        } 
    }   
      
    </script>   
      
      </head>   
         
      <body>   
        <input type="text" id="dateTime" name="dateTime" onfocus="a()"/>   
        <input type="radio" name="dateType" onclick="b(this)" value="年">年</input>
        <input type="radio" name="dateType" value="月" onclick="b(this)" />月</input>
        <input type="radio" name="dateType" checked="true" value="日" onclick="b(this)"/>日</input>   
      </body>   
    </html>
      

  2.   

    原因是因为你使用的是onclick()事件,而控件是要使用onfocus()事件<html >
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
      <title>test11</title>  <script type="text/javascript" >
       
    function applyContent()
    {  if(document.getElementById("pptType").value=="year")
      {   
      document.getElementById("1111").value="";  
      document.getElementById("1111").onfocus=test1;
        
      }
      else if(document.getElementById("pptType").value=="month")
      {
      document.getElementById("1111").value="";  
      document.getElementById("1111").onfocus=test2;
        
      }
      else if(document.getElementById("pptType").value=="week")
      {  
      document.getElementById("1111").value="";   
      document.getElementById("1111").onfocus=test3;
        
      }
      else if(document.getElementById("pptType").value=="day")
      {
      alert("day");  
      }}
    function test1()  
    {
    alert("year2");
      WdatePicker({skin:'whyGreen',dateFmt:'yyyy'});
     }  
    function test2 ()  
    {
    alert("month2");
    WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM'});  
    }  function test3()  
    {
    alert("week2");
    WdatePicker({isShowWeek:true});  
    }  </script>
      <script language="javascript" type="text/javascript" src="DatePicker/WdatePicker.js"></script>
     
      </head>
      <body>
      <form id="test">
      <input id = "1111" type="text" class="Wdate" onfocus="">
      <select id="pptType" onchange="applyContent()" >
      <option value="year" >年</option>
      <option value="month" >月</option>
      <option value="week">周</option>
      <option value="day">日</option>
      </select><br>
    <br>
      <div id="testId"></div>
      </form>
      </body>
    </html>