遍历ul中所有li标签的里面的内容,如果有和文本框中的内容一致的li的话,清空文本框中的内容,如果没有,什么也不做。

解决方案 »

  1.   

    文本框与ul 和li的关联如何呢?结构又是如何呢?你这么问。给出来的你也不合用
      

  2.   

    <ul class="ul">
    <li>123</li>
    <li>234</li>
    <li>456</li>
    <li>789</li>
    <ul>
    <input class="inp" value=""/>
    当input失去焦点时触发上面的判断
      

  3.   

    1:我为了测试,给你的ul加了个ID,input绑定了onblur事件
    <ul id="ultest" class="ul">
    <li>123</li>
    <li>234</li>
    <li>456</li>
    <li>789</li>
    <ul>
    <input class="inp" onblur="inputBlur(this)" value=""/>2:处理失去焦点时的检测
    function inputBlur(o){
        var v=o.value;
        var _li=document.getElementById("ultest").getElementsByTagName("li");
        for(i=0;i<_li.length;i++)
        {
            if(_li[i].innerHTML==v){o.value='';break}
        }
    }
      

  4.   

    按照你说的想法,就是将ul li所有的值要和文本框的值一样吗?为什么要这样写了?直接根据文本框中的内容修改ul li 的所有的值不就可以了嘛
      

  5.   

    将下面代码保存值html格式,直接运行看看是不是你想要的结果:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
        <script src="http://code.jquery.com/jquery-1.8.0.min.js"  type="text/javascript"></script>
        <script type="text/javascript">
        $(function(){
         $(function(){
         $('#txt_val').blur(function(){
         var txt_val=$.trim($('#txt_val').val());
         var i=0; 
         $.each($('#ultest > li'),function(){
         i++;
         var li_val=$.trim($(this).text());
         if(txt_val!=li_val){
         $('#txt_val').val('');
         $('#dd').text('文本库中的值为:'+txt_val+',li的值为:'+li_val+'。因为两个值不相等,程序已停止运行。共循环'+i+'次。');
         return false;
         }
         })
         })
         })
        })
        </script>
      </head>
      
      <body>
       <div id="dd" style="height: 50px;  line-height: 50px; text-align: center; font-size: 14px; font-weight: bold;"></div>
     <ul id="ultest" class="ul">
    <li>123</li>
    <li>123</li>
    <li>456</li>
    <li>789</li>
    <ul>
    请在这里输入值:<input type="text" id="txt_val"/>
      </body>
    </html>
      

  6.   

    如果有和文本框中的内容一致的li的话,清空文本框中的内容
    就是说有两个相同的Li的内容吧。是这个意思吧。
    那循环一下就OK了。
      

  7.   


    用我那个小小的修改下就好了呀function inputBlur(o){
        var v=o.value;
        var _li=document.getElementById("ultest").getElementsByTagName("li");
        var _count=0;
        for(i=0;i<_li.length;i++)
        {
            if(_li[i].innerHTML==v){_count=1;break}
        }
        if(_count==0){o.value='';}
    }