2013-10-24 2 views
0

Я работаю над формой, которая добавляет динамические строки таблицы в таблицу. Я выполнил некоторые проверки для нее, которые отлично подходят для меня, но теперь я столкнулся с новой задачей, которую хочу подтвердите текстовое поле, которое будет динамически добавляться в каждую строку, но проблема в том, что я просто хочу проверить это текстовое поле, когда другие текстовые поля, которые перед ним не пусты, , и я застрял здесь. Я знаю, что могу использовать .each() для каждого элемента, который входит в этот идентификатор, но я не знаю, как привязать каждое текстовое поле из строки в этой проверке, потому что строки сами будут складываться, когда последнее текстовое поле («которое мне нужно» для проверки ») не является пустым, и если все текстовые поля не пусты, то это не даст никакой ошибки.Проверки динамически добавленных строк таблицы в jQuery

Вот мой код для проверки:

if($('[id^="invoice_"]').val() =="" || $('[id^="invoice_"]').val() ==null || $('[id^="invoice_"]').val() ==0){ 
    alert("Invoice Number Cannot Be Empty"); 
    $("#savetodb").attr("disabled", "disabled"); 
    console.log("1"); 
    return false; 
}else{ 
    console.log("2"); 
    $("#savetodb").removeAttr("disabled");  

ответ

1

хорошо вам не нужно добавить селектор для каждого входа ... попробуйте использовать цикл

$.each($('[id^="invoice_"]'),function(i,v){ 
    if(this.value=="" || this.value==null || this.value=="0"){ 
     alert("Invoice Number Cannot Be Empty"); 
     $("#savetodb").prop("disabled", true); 
     console.log("1"); 
     return false; 
    }else{ 
     console.log("2"); 
     $("#savetodb").prop("disabled", false); 
    } 

да и это должно быть внутри ваша функция отправки и должна быть вызвана после того, как будет добавлен ваш ввод. recommned использовать prop(), если у вас есть последняя версия JQuery используется (т.е. 1.6+)

+0

спасибо за ответ, но он будет работать для меня, как я хочу, чтобы подтвердить («INVOICE_NUMBER»), когда каждое текстовое поле на этой строке не EMP ty например: if (this.value == "" || this.value == null || this.value == "0" && $ ("# textbox1"). val()! = "" && $ ("# textbox2"). val()! = "" && $ ("# textbox3"). val знак равно – user2274075

0

Попробуйте это: Может быть, это поможет вам ...

код сторона (.cs страница):

 string str = ""; 
     str = "<table>"; 
     for (int i = 1; i <= 5; i++) 
     { 
      str = str + "<tr><Label id='lbl" + i.ToString() + "' runat='server'>Lable " + i.ToString() + "</Label>"; 
      str = str + "<input type='Text' id='txt" + i.ToString() + "' onblur='checkValidation(this);'/></tr><br /><br />"; 
     } 
     str = str + "</table>"; 
     Response.Write(str); 

Design Side (страница .aspx):

<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
    <script type="text/javascript" language="javascript"> 
     function checkValidation(ctrl) { 
      var returnNow = false; 
      var i = 0; 
      $('input[type=text]').each(function (index) { 
       if (ctrl.id == this.id) { 
        if ($(this).val() == '' || $(this).val() == null) { 
         alert('enter some val for Label ' + (index + 1).toString()); 
        } 
        return false; 
       } 
       else { 
        if ($(this).val() == '' || $(this).val() == null) { 
         alert('Enter some value for Label ' + (index + 1).toString()); 
         return false; 
        } 
        else { 
         returnNow = true; 
        } 
       } 
      }); 
     } 
</script> 
Смежные вопросы