在for循环内使用JQuery选择器

时间:2020-07-21 09:11:07

标签: javascript html jquery

我正在尝试在表单中选择要在我的脚本中使用的字段的值。表单的结构是动态的,允许用户在这些部分中包含部分和字段。

This is how the form looks.

This is what the console looks like after running the current script 每个输入都有一个唯一的ID,节标题的ID为#(节号)标题,字段标题的ID为#(节号),(字段号)标题。

在这种情况下,第一个字段标题的ID为'#1,1title'。

我正在使用for循环来选择部分,然后在最后一个内部使用另一个for循环来选择部分中的每个字段。

当我将循环变量用于jQuery选择器中的各个部分时,它可以正常工作,但是当我将变量用于字段时,它会吐出错误-这是我选择字段的代码:

function buildCourse() {
    //get main course details
    let courseTitle = $('#courseTitle').val();
    let courseDesc = $('#courseDesc').val();
    console.log("Title: " + courseTitle);
    console.log("Description: " + courseDesc);
    //get sections
    let secNum = $('#formdiv').children().length;
    for (let i = 1;i <= secNum; i++){
        //get section details
        let secTitle = $('#' + i + 'title').val();
        let secDesc = $('#' + i + 'desc').val();
        console.log("Section Title: " + secTitle);
        console.log("Section Description: " + secDesc);
        //get field details
        let section = $('#' + i + 'sectionDiv');
        let fieldNum = section.children().length;
        console.log("Section " + i + " has " + fieldNum + " fields");
        for (let f = 1;f <= fieldNum;f++){
            let title = "#" + i + "," + f + "title";
            console.log(title);
            console.log($(title));
        }
    }
}

当我执行'console.log($(title).val());'时在最后一行上,它记录为``未定义'',当我按原样运行它时,它会给我'E.fn.init [prevObject:E.fn.init(1)]'。但是,在console.log之前,我只是在其中记录了“ title”变量,因此应该记录#1,1title。当我尝试在jQuery选择器中使用该变量时,问题就开始了。任何有关如何修复的想法将不胜感激。

谢谢。

0 个答案:

没有答案