需要帮助将许多if语句转换为循环

时间:2015-01-25 15:37:53

标签: javascript jquery

我已经在Javascript循环上阅读了一堆,但找不到任何适合这种类型的东西。

我有一个网页,用户可以通过与作业关联的任务来定义作业。当他们选择新工作并选择任务时,任务将在行项目表中写入数据库。其作业定义部分加载在父页面的iframe中。 我在父级上有jb1到jb10编号的文本框和id。每个文本框将保存作业的jobid,文本框仅写入正在提交的作业的第一个任务。我希望有人能清楚这一点。

我写了一个非常基本的javascript来检查test的值(最初设置为0,然后在提交第一个任务时增加到1)

我想要帮助的是如何将这50个奇怪的javascript行改为循环,以免使用这么多行。

这是剧本:

<script>
function chkjobnum() {
var id = $("#test").val();
if (id <= 0) {
var id1 = parent.top.$("input#jb1").val();
if (id1 <= 0){
    $("#test").val(1);
     parent.top.$("input#jb1").val( $("#job").val() );
     return;    }
var id2 = parent.top.$("input#jb2").val();
if (id2 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb2").val( $("#job").val() );
    return; }
var id3 = parent.top.$("input#jb3").val();
if (id3 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb3").val( $("#job").val() );
    return; }
var id4 = parent.top.$("input#jb4").val();
if (id4 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb4").val( $("#job").val() );
    return; }   
var id5 = parent.top.$("input#jb5").val();
if (id5 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb5").val( $("#job").val() );
    return; }
var id6 = parent.top.$("input#jb6").val();
if (id6 <= 0){
    $("#test").val(1);
     parent.top.$("input#jb6").val( $("#job").val() );
    return; }
var id7 = parent.top.$("input#jb7").val();
if (id7 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb7").val( $("#job").val() );
    return; }
var id8 = parent.top.$("input#jb8").val();
if (id8 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb8").val( $("#job").val() );
    return; }
var id9 = parent.top.$("input#jb9").val();
if (id9 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb9").val( $("#job").val() );
    return; }   
var id10 = parent.top.$("input#jb10").val();
if (id10 <= 0){
    $("#test").val(1);
    parent.top.$("input#jb10").val( $("#job").val() );
    return; }
}                       
}
</script>

2 个答案:

答案 0 :(得分:0)

这将帮助您入门

for (var i = 1; i < 11; i++) {
    var id = parent.top.$("input#jb"+i).val();
    if (id <= 0){
        $("#test").val(i);
         parent.top.$("input#jb"+i).val( $("#job").val() );
         return;    
    }
}

答案 1 :(得分:0)

您需要以下内容:

<script>
function chkjobnum() {
var id = $("#test").val();
if (id <= 0) {
     for(i = 0; i <= 10; i++) {
         var idi = parent.top.$("input#jb"+i).val();
         if (idi <= 0) {
             $("#test").val(1);
             parent.top.$("input#jb" + i).val( $("#job").val() );
             return;
         }
      }
}                       
}
</script>