用javascript麻烦,写到servlet里去~

解决方案 »

  1.   

    我的查询条件设置界面:
    <div>
    <script src=xxx.php?...></script>或<script src=xxx.asp?...></script>或<script src=xxx.jsp?...></script>
    </div>xxx.php里内容为:我的逻辑:<?  服务器脚本得到相要的东西,可用javascript解释:如ceho  "<document.write(\'<select onclick=><option value=><select>\')>"              ?>
      

  2.   

    应该不算难,给你的思路
    1。首先你去找别人实现的combo效果的javascript,HTC的形式最好
    2。看看csdn上面的联动操作代码,只是将select变成你的combo而已,至于代码比较长,你自己去找找如果还有问题,可以在这里提问
      

  3.   

    to liuruhong
      combo这个东西不大好弄呀,现在也没有比较成熟的技术在javascritp当中,按照我上面所说的要求你能够给我个列子吗。
    我邮箱[email protected]
      

  4.   

    to JavaBoyCaoJi(老曹)
    很多站点都有的,这个东西你问问fason,www.stedy.com就有这样的例子
      

  5.   

    <html>
    <head><title>ListBox</title>
    </head>
    <body>
    <select name="select"style="position:absolute; left: 10px; top: 10px; width: 118px; height: 18px; clip: rect(0 120 18 100)" id="select" onchange="textfield.value=select.value;textfield.select()">
        <option value="aaaaaaaa">aaaaaaaa</option>
        <option value="bbbbbbbb">bbbbbbbb</option>
        <option value="cccccccc">cccccccc</option>
    </select>
    <input type="text" style="position:absolute; left: 11px; top: 10px; width: 115px; height: 20px" name="textfield">
    </body>
    </html>
      

  6.   

    to all
     兄弟们我这里问的不仅仅是联动的问题呀,
    我在这里要说的是当用户选择某个下拉菜单项目的时候可以出来一个和他属性相关值的下拉菜单,或者是一个text域的可以直接输入的项目。
    当选择好这些项目的数时候可以把他给显示道一个table当中,当然也可以删除已经选择的查询条件项目。
    相关字段选择好之后这些字段可以显示在下一个textarea项目当中已经用户进行相关菜单项目的排序选择
      

  7.   

    to JavaBoyCaoJi(老曹) 
    说实话,我不是不知道你的要求,只是我认为这些东西既然那么多楼上的给你提供了一些帮助,你自己编写这些实现应该没有问题的。我想总不至于你是希望别人代劳吧 ^=^
      

  8.   

    to  liuruhong(蓝色街灯) 
     兄弟楼上说的那些东西也没有符合我的要求呀,我这个时有好几级联动的。
    选择一个下拉属性的话,这个属性对应的可能是一个下拉菜单,也可能是一个text属性。
    当选择一些可以在页面上面显示出来,似的用户可以看到,当然也可以删除掉。
    而后可以设置显示项目设置好之后呢,这些相关项目可以作为排序项目自动填充道下个项目当中取,而后可以进行人工排序,如何做。
      

  9.   

    可以具体点吗?选择后的连动反应用javascript实现不了吗?还是选择后的结果不容易转到后台?不好处理?还是在后台不好组合这些条件?你一点一点地实现应该有眉目的!
      

  10.   

    比较麻烦而已,
    选择了要查询的字段之后,根据选择的条件,显示查询条件部分,如果是用户输入的,就显示输入框,如果是选择的,就根据上面大伙说的显示选择框。(事先页面中,有一个输入text,还有一个选择框select),根据需要进行显示就OK了!
      

  11.   

    建议先生成查询所需的项目,到下个页面再根据所选生成对应的操作符列表(select),这样不算复杂吧?如果在同一页面联动,就要操作表格了
      

  12.   

    to  liuruhong
    我这个问题还是比较复杂的不是你想的那么简单吧,我把我的问题在具体的归纳一下,希望大家看仔细了。
    不知道这里的高手有没有此类的解决方法,如果有麻烦告知!
    1 我这些功能需要在同一个页面当中完成,如此做当然是给用户带来方便2 在此页面当中包括如下功能3 组合查询条件
    select 有几个option为 cjj  xuii luzg tomcat_jmx
    当我选择cjj的时候这个时候有联动操作 出来一个select项目下拉菜单为男 女
    当选择xuii的时候 出来一个text需要用户进行手工输入查询条件
    注意当我选择了cjj的时候此查询条件要对用户可见,也就是说要显示在页面当中,选择了xuii后也需要显示在页面当中。
    同时我也有删除这些查询条件的功能。4 在选择好如此查询提交之后 当然是设置显示项目了,这里是对几个常用字段默认选择为可显示,其他要显示的项目我们可以通过选择
    来进行是否显示(选择显示如此几个项目name sex age address)5同时我还可以设置在查询条件当中(对上面设为显示项目的字段自动填充道下一个textare当中对这些字段进行排序)
    列表当中显示的次序
    假设此时我选择了如此几个字段进行显示为  name sex age address 我可以按照如此方式显示,也可以通过调整
    sex age address name 如此显示
    敢问各位高手该如何做呢?
      

  13.   

    to awaysrain
     3 组合查询条件
    select 有几个option为 cjj  xuii luzg tomcat_jmx
    当我选择cjj的时候这个时候有联动操作 出来一个select项目下拉菜单为男 女
    当选择xuii的时候 出来一个text需要用户进行手工输入查询条件
    注意当我选择了cjj的时候此查询条件要对用户可见,也就是说要显示在页面当中,选择了xuii后也需要显示在页面当中。
    同时我也有删除这些查询条件的功能
    这个问题如何解决呢,对于其他问题我还是可以解决地呢??帮帮我咯,能够给个具体列子吗,兄弟,最主要这些东西是从数据库当中取得地
      

  14.   

    to JavaBoyCaoJi(老曹) 
    说实话,我还是没有明白你这个的所谓难度在于哪里,是代码量大还是说有些的技术关无法解决?至于你说的那些查询条件的显示通过层的隐藏和显示应该可以解决问题的,后台刷新方面,使用IFrame或者xmlhttp
      

  15.   

    to liuruhong(蓝色街灯)
    xmlhttp 具体指得是什么东西,我不大了解撒。
    to xuzuning(唠叨) 
     数据词典应包括:字段名、说明、数据类型、联动键...这些东西要自己设计一个数据库吗,我现在是不想设计数据库的基础上来做地,你能够说说具体的实现方法吗,最后能够给一个例子,可以吗,一定给分。
      

  16.   

    to JavaBoyCaoJi(老曹)
    xmlhttp能够解决你再同一个页面上操作,而不才采用刷新页面的办法,至于具体的内容,你可以参考xml sdk里头的IHTTPRequest帮助至于你说的那些界面的要求,我觉得主要是业务表达的问题了,不外乎就是通过图层的显示合隐藏来完成,至于那些数据,你可以通过xmlhttp或者iframe的方式从服务器端动态加载good lucky
      

  17.   

    to liuruhong
    兄弟你说得也太含糊了吧,你所说的方法,在实际的应用当中还是比较少的吧,我也比较难理解起整体的设计思路
    要不给个例子看看咯。
    各位兄弟继续发表你们的高论咯!
      

  18.   

    to JavaBoyCaoJi(老曹)
    我不知道你对于联动菜单的理解如何?这个方面csdn里头有很多人问过,faq里头也应该有,这个看懂了以后,一切就都好实现了
      

  19.   

    to liuruhong(蓝色街灯]
    关键是现在我所要做的那些东西要求比较复杂吧,你能够给个例子看看吗??
      

  20.   

    简单的演示<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     <script language="JavaScript" type="text/JavaScript">
    function test() 
    {
    if(form1.select1.value=="cjj")
    awaysrain.innerHTML="<select name=aaa><option value=男>男</option><option value=女>女</option></select>"
    else
    awaysrain.innerHTML="<input type=\"text\" name=\"aaa\">"}
    function ok()
    {
    var oOption = document.createElement('OPTION');
        oOption.text = form1.select1.value + "='" + form1.aaa.value + "'";
        oOption.value = form1.select1.value + "='" + form1.aaa.value + "'";
        form1.selectOk.options.add(oOption);
    }
    function del()
    {
    form1.selectOk.options.remove(form1.selectOk.selectedIndex)
    }
    </script>
    </head><body onload="test()">
    <form name="form1" method="post" action="">
      <table width="242" border="1" cellspacing="0" cellpadding="5">
        <tr> 
          <td width="13%" height="33"> <select name="select1" onChange="test()">
              <option value="cjj">cjj</option>
              <option value="xuii">xuii</option>
              <option value="luzg">luzg</option>
              <option value="tomcat_jmx">tomcat_jmx</option>
            </select></td>
          <td width="87%" nowrap><div id="awaysrain"></div>
          </td>
        </tr>
        <tr> 
          <td height="33" colspan="2"><select name="selectOk" size="5">
            </select>
            <input type="button" name="Button2" value="确定" onClick="ok()"> 
            <input type="button" name="Button" value="删除" onClick="del()"></td>
        </tr>
      </table>  
    </form>
    </body>
    </html>
      

  21.   

    to awaysrain(绝对零度)
     高手呀!这个列子不错,但是现在碰到了这个问题,这个主要是用来做组合查询的,你这个基本功能已经实现,但是和实际比较起来还有一定的差距,因为我那些参数是否是下拉选择是未知的。
    在选择第2个条件的时候有并且 和或者两中如何完善到你哪个列子上,如果传替参数到后台,给个提示,你哪个列子这些东西没有涉及到
    谢谢了
      

  22.   

    我觉得用textarea可能会好一点
    “因为我那些参数是否是下拉选择是未知的。”
    这里需要你判断(数据库里需要记录)是否有下拉选择,有的话是select,没有是text
    可以用XMLHTTP<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     <script language="JavaScript" type="text/JavaScript">
    function test() 
    {
    if(form1.select1.value=="cjj")
    awaysrain.innerHTML="<select name=aaa><option value=男>男</option><option value=女>女</option></select>"
    else
    awaysrain.innerHTML="<input type=\"text\" name=\"aaa\">"}
    function ok()
    {
        form1.textarea.value+=form1.select1.value +"='" + form1.aaa.value +"'"
    }
    function and()
    {
        form1.textarea.value+= " AND " 
    }
    function or()
    {
        form1.textarea.value+= " OR " 
    }
    function left()
    {
        form1.textarea.value+= "(" 
    }
    function right()
    {
        form1.textarea.value+= ")" 
    }</script>
    </head><body onload="test()">
    <form name="form1" method="post" action="">
      <table width="410" border="1" cellspacing="0" cellpadding="5">
        <tr> 
          <td width="13%" height="33"> <select name="select1" onChange="test()">
              <option value="cjj">cjj</option>
              <option value="xuii">xuii</option>
              <option value="luzg">luzg</option>
              <option value="tomcat_jmx">tomcat_jmx</option>
            </select></td>
          <td width="87%" nowrap><div id="awaysrain"></div></td>
        </tr>
        <tr> 
          <td height="33"> <textarea name="textarea" rows="5"></textarea>
          </td>
          <td height="33"><input type="button" name="Button" value="AND" onClick="and()"> <input type="button" name="Submit2" value="OR" onClick="or()"> 
            <br> <input type="button" name="Submit22" value="(" onClick="left()">
            <input type="button" name="Submit23" value=")" onClick="right()"> <br>
            <input type="button" name="Button2" value="确定" onClick="ok()"> </td>
        </tr>
      </table>  
    </form>
    </body>
    </html>
      

  23.   

    to awaysrain(绝对零度)
     非常感谢你的回答,对了xmlhttp具体如何用呢?还有你给的这个列子当我输入错误的时候没有回退功能,还有我没有选择条件的时候也可以输入相应的查询提交如此是不合理的吧。
    还有在我没有选择and or的时候也可以进行查询条件的输入,这个如何去掉,谢谢你咯。
    还有用你的列子的时候,当selectOk动态生成项目的时候,我切换到另外一个页面,取得其值都是空的,这是怎么回事情。
      

  24.   

    我现在的要求是如此的
    组合条件  关系符   值    逻辑符
    title     大于    aa   
    name      等于    小张   且
    address   等于    杭州我要求是选择一个title的时候multiple select当中就显示出相关的内容。
    加一个显示一个,特别是要注意逻辑符的要求,大家能够详细给出解决方法吗?
    一定给分。
      

  25.   

    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="JavaScript">
    function init(name)
    {
    var tmp = document.getElementsByName(name)
    for(var i=0;i<tmp.length;i++)
    {
    tmp[i].checked=false
    }
    }
    function checkBoxValue(name)
    {
    var tmp = document.getElementsByName(name)
    for(var i=0;i<tmp.length;i++)
    {
    if(tmp[i].checked)
    return tmp[i].value
    }
    return null
    }
    function test() 
    {
    //这里可以修改,根据不同的选项生成select或者text
    if(form1.select1.value=="address")
    awaysrain.innerHTML="<select name=myvalue><option value=杭州>杭州</option><option value=苏州>苏州</option><option value=省略了……>省略了……</option></select>"
    else
    awaysrain.innerHTML="<input type=\"text\" name=myvalue>"
    }function add()
    {
    if(checkBoxValue("relation")==null)
    {
    alert("请选择关系符!")
    return;
    }
    if(form1.selectOk.length>=1)
    {
    if(checkBoxValue("logic")==null)
    {
    alert("请选择逻辑符!")
    return;
    }
    }
    else
    {
    if(checkBoxValue("logic")!=null)
    {
    alert("请选择不能选择逻辑符!")
    init("logic")
    return;

    }

    } var oOption = document.createElement('OPTION');
    var str=""
    str = form1.select1.value + checkBoxValue("relation") + "'" + form1.myvalue.value + "'";
    if(checkBoxValue("logic")!=null)
    str = checkBoxValue("logic") + " " + str;
        
    oOption.text = str
      oOption.value = str;
        form1.selectOk.options.add(oOption);
    init("relation")
    init("logic")
    }
    function del()
    {
    form1.selectOk.options.remove(form1.selectOk.selectedIndex)
    }
    </script>
    </head><body onload="test()">
    <form name="form1" method="post" action="">
      <table border="1" cellspacing="0" cellpadding="5">
        <tr> 
          <td width="16%" nowrap>组合条件</td>
          <td width="44%" nowrap>关系符</td>
          <td width="12%" nowrap>值</td>
          <td width="28%" nowrap>逻辑符</td>
        </tr>
        <tr> 
          <td nowrap><select name="select1" onChange="test()">
              <option value="title">title</option>
              <option value="name">name</option>
              <option value="address">address</option>
            </select></td>
          <td nowrap>
    <input type="radio" name="relation" value="&gt;">&gt;
    <input type="radio" name="relation" value="&gt;=">&gt;=
        <input type="radio" name="relation" value="=">=
          <input type="radio" name="relation" value="&lt;="> &lt;=
        <input type="radio" name="relation" value="&lt;"> &lt;
    </td>
          <td nowrap id="awaysrain">&nbsp;</td>
          <td nowrap>
    <input type="radio" name="logic" value="AND">AND
            <input type="radio" name="logic" value="OR">OR
    </td>
        </tr>
        <tr> 
          <td colspan="3" nowrap><select name="selectOk" size="5" style="width:100%">
            </select></td>
          <td nowrap><input type="button" name="Button" value="确定" onClick="add()">
            <input type="button" name="Button" value="删除" onclick="del()"></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
      

  26.   

    对于 combo box 我写了一个例子, 目前在IE6下运行正常, 兼容性我正在进一步的做:
    http://expert.csdn.net/Expert/TopicView1.asp?id=2143373下拉框联动的问题我在以前做过一个省市名联动的例子, 在ASP版式的FAQ里有.其实联动的问题主要是发生变化时后面的数据如何取的问题:
    1. 在页面生成的时候就将数据放在页面里的JS里
    2. 根据要求通过 xmlhttp 或者 隐藏的 iframe 与服务器端交互得到新数据
      

  27.   

    下面这个写法是把列表当中的内容至顶对吗,大家看看咯。 
    function moveroof(multiplist){
    var s = multiplist;
     
      v = new Array();
      for(var i=1;i<s.length;i++) {
        if(! s.options[i-1].selected && s.options[i].selected) {
          v.value = s.options[i].value;
          v.text = s.options[i].text;
          v.selected = s.options[i].selected;
          while(i>=1){
      s.options[i].value = s.options[i-1].value;
          s.options[i].text = s.options[i-1].text;
         // s.options[i+1].selected = s.options[i-1].selected;
         // alert("i"+i);
     i--;
     }
      s.options[0].value = v.value;
          s.options[0].text = v.text;
          s.options[0].selected = v.selected;
        }
      }
     }
      

  28.   

    去看看www.zydsoft.com的e商2003的在线演示。
      

  29.   

    XML+DOM+JS/VBS一定行的!!!我试过了
      

  30.   

    移动到最上,最下<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script language="JavaScript">
    function first()
    {
    if(select1.selectedIndex==-1)
    return
    var tmpText = select1.options[select1.selectedIndex].text
    var tmpValue = select1.options[select1.selectedIndex].value
    for(var i=select1.selectedIndex;i>0;i--)
    {
    select1.options[i].text=select1.options[i-1].text
    select1.options[i].value=select1.options[i-1].value
    }
    select1.options[0].text=tmpText
    select1.options[0].value=tmpValue
    }
    function last()
    {
    if(select1.selectedIndex==-1)
    return
    var tmpText = select1.options[select1.selectedIndex].text
    var tmpValue = select1.options[select1.selectedIndex].value
    for(var i=select1.selectedIndex;i<select1.options.length-1;i++)
    {
    select1.options[i].text=select1.options[i+1].text
    select1.options[i].value=select1.options[i+1].value
    }
    select1.options[select1.options.length-1].text=tmpText
    select1.options[select1.options.length-1].value=tmpValue
    }
    </script>
    </head><body>
    <p>
      <select name="select1" size="5">
        <option value="111">1111</option>
        <option value="222">222</option>
        <option value="333">333</option>
        <option value="444">444</option>
        <option value="555">555</option>
      </select>
    </p>
    <p> 
      <input type="submit" name="Submit" value="最上" onClick="first()">
      <input type="submit" name="Submit2" value="最下" onClick="last()">
    </p>
    </body>
    </html>