就是有一个下拉列表,选中一项,按“增加”按钮会利用ajax弹出一个表,供输入数据, 怎么才能使得再按“增加”时阻止出现相同的表呢,也就是说怎么才能使下拉中的选项都只能增加一次???
  
 求高手解决啊!本人新手,纠结了好久了啊。

解决方案 »

  1.   

    js里面设置一个数组,对应下拉选择的各项,预设为1,
    点增加时检测是否为1,true则允许增加
    当完成增加的ajax后,把对应项赋值为0当然,服务器端也要有必要的检测,免得有人绕过js偷步提交
      

  2.   

    ajax弹出一个表是何意思?弹出一个来自数据库数据的表还是JS数组自己定义的,你选择的时候是可以多选还是只能单选?
      

  3.   

    在你写的JS里面定义一个全局变量 第一次点按钮的时候改为1然后在Ajax里面判断下是不是《2是的就执行否则不执行  在下拉列表框换了之后点击按钮那个不就是2了嘛 那么就不会执行了更不会添加表了
      

  4.   

    你可以用jquery(基于js的y一个库,用js直接来做会很复杂)来做,按增加按钮后,用$.post或$.get启动ajax流程,后台可以用php文件搜索数据,再用xml或html格式返回所有次分类的数据,现在数据到了前端了,可以使用添加节点、插入节点的方式做一个你需要显示数据的方式。
    最后解决的是两次单击检测问题,你只需要在上步新建的父节点中添加一个class,在单击时用hasclass检测如果有这个class,说明次分类已经创建了,就这样了
      

  5.   


    function ajaxSubmit(){
     var inputval = jQuery('#addinputval').val();
     jQuery("#addtoSelect").find("option").each(function (){
        if(jQuery(this).attr('value') == inputval){
           alert('已存在!');
           return false;
        }
     });
     jQuery.ajax.post(**********);
     jQuery("#addtoSelect").append("<option value='"+inputval+"'>"+inputval+"</option>");
    }
      

  6.   

    也可以用另一种方式,避免并不必要的提示——这其实很烦人,为什么不让一切悄然无声顺顺利利呢。仅仅为了显示某种设计上的考虑而用提示不断提醒用户?用户可是不管你辛苦不辛苦,只会很反感的。SELECT里选中某项后,如果点击“增加”,在发出AJAX请求后的SUCCESS事件中顺手把SELECT里当前项给删除(如果为了防止当前项被用户改变发生不对应,可在“增加”时用变量记忆,删除时删除变量对应的项目)。这样,凡是增加的,就不再在SELECT中出现,也就避免误选了。否则,你仍然出现在那里,用户难免误选,然后就一次一次看到讨厌的提示。相应的,既然删除了,也需要在弹出的表的关闭事件里再把这一项给添加回SELECT里去,供再次选择“增加”。如果是多表同时操作,应建立一个数组,使每个操作的选项与弹出表关联。如果是单表,只需一个对一个即可。
      

  7.   

    楼上的这种做法我听别人说过,但是由于刚学php,做不出来啊。不过已经通过设置一个全局变量得到了解决。。谢谢各位的解答,现在散分啦!哈哈