2012-06-17 43 views
0

寫選擇我有這樣的HTML代碼如何爲選擇TD表

<table style="width: 100%;"> 
      <tr> 
       <td> 
        ID 
       </td> 
       <td> 
        <input id="Text1" type="text" class="b" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Name 
       </td> 
       <td> 
        <input id="Text2" type="text" class="b" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Family 
       </td> 
       <td> 
        <input id="Text3" type="text" class="b" /> 
       </td> 
      </tr> 
      <tr> 
       <td colspan="2"> 
        <input id="Button1" type="button" value="Click Me" /> 
       </td> 
      </tr> 
     </table> 

我想,如果用戶沒有輸入文本選擇兄弟TD並獲得TD文本我寫這篇文章的代碼,但沒有工作

 $(function() { 
      $("#Button1").click(function() { 
       var ls = $(".b"); 
       alert(ls.length); 
       for (var i = 0; i <= ls.length - 1; i++) { 
        if ($(ls[i]).val() == "") { 
         alert("hi"); 
         var ctx = $(ls[i]).parent("td").parent().siblings();; 
         alert($(ctx).val()); 
         // 
         alert(ctx.length); 

        } 
       } 
      }); 
     }); 

例如,如果用戶在Text1中輸入id並按下按鈕1我想顯示警報ID。

請幫幫我。謝謝所有

回答

1

例如,如果用戶在Text1中輸入id並按下按鈕1我想要顯示警報ID。

所以,你要查找以前的td,一隻是包含input不具有價值td過嗎?這將是這樣的:

$(function() { 
    $("#Button1").click(function() { 
     var ls = $(".b"); 
     var input; 
     alert(ls.length); 
     // Note that rather than using a `for` loop, you might 
     // look at using jQuery's `each` function 
     for (var i = 0; i < ls.length - 1; i++) { 
      // Get a jQuery wrapper for this `input` element 
      input = $(ls[i]); 

      // Is it empty? 
      if (input.val() == "") { 
       // Yes, traverse up to the `td`, then get the previous `td` 
       var ctx = input.closest("td").prev(); 

       // Show its text (or html); note that it's not `val`, `td` 
       // elements don't have a *value*, they have text/markup 
       alert(ctx.text()); // Or ctx.html() 
      } 
     } 
    }); 
}); 
1

這裏是一個警報,覆蓋了所有的空項,而不是爲每個

DEMO一個警報:http://jsfiddle.net/RCHss/

$("#Button1").click(function() { 
    var empty_items = []; 
    $(".b").each(function() { 
     if ($(this).val() == '') { 
      empty_items.push($.trim($(this).parent().prev().text())); 
     } 
    }); 
    if (empty_items.length) { 
     alert('Please fill in :\n\n' + empty_items.join('\n')) 
    } 
});