2013-05-20 3 views
-3

У меня возникла проблема с расширением имен форм, которые нужно втянуть в переменные jscript. ($('#p'+i+'_status')) Есть 10 статусов. Для 1 входа это должно быть $('#p1_status'), так что я мог бы просто напечатать p1-p10 и сделать это таким образом, однако должно быть лучшее решение этой проблемы?Javascript FOR цикл, входные переменные формы

$(function() { 
var status = []; 

    for (var i=1;i<=10;i++){ 
     status[i] = $('#p'+i+'_status'); 
    } 

    if(status[i]=='Enabled'){ 
     --validation scripts-- 
    } 
} 
+1

Является ли это JavaScript или [JScript] (HTTP: // msdn.microsoft.com/en-us/library/vstudio/72bd815a(v=vs.100).aspx)? – JJJ

+1

И вопрос? –

+0

какая ошибка вы получаете? для одного вы используете 'status [i]' вне цикла 'for', что не имеет никакого смысла. – sgroves

ответ

4

Если у вас нет других входов, оканчивающиеся _status, вы можете использовать атрибут заканчивается селектор, чтобы выбрать их все:

$(function() { 
    $('input[id$="_status"]').each(function(i, ele) { 
     if (!ele.disabled) { 
      // do stuff 
     } 
    }); 
}); 
+0

"как именно элемент DOM становится строкой?" ? –

+1

@roasted - оператор 'if' OP проверяет, равен ли элемент DOM строке' Enabled'. adeneo: возможно, входы - это флажки или радиовходы? – Joe

+1

@roasted - Я просто следую за кодом OP, но «status [i] ==« Enabled »не имеет смысла, поскольку элемент DOM никогда не будет строкой« Enabled ». – adeneo