动态创建输入文本 ID,并在 JavaScript 中获取它并在 UI 中加载值

dynamically create the input text ID, and get it in javascript and load values in UI

本文关键字:获取 UI 加载 JavaScript 输入 创建 文本 ID 并在 动态      更新时间:2023-09-26

osapi.XXXX.XXXXXX.people.get({id: userID}).execute(function (person) {
        var profile = person.jive.profile;
        var profileName = person.name;
        var profilePhNumber = person.phoneNumbers;
        profile.forEach(function (obj) {
            if (obj.jive_label === 'Department') {
                console.log('department value is: ' + obj.value);
                document.getElementById("getDepartmentValue").value = obj.value;
            }
            if (obj.jive_label === 'Office') {
                console.log('Office location is: ' + obj.value);
                document.getElementById("getLocationValue").value = obj.value;
            }
            if (obj.jive_label === 'Languages') {
                console.log('Languages known are: ' + JSON.stringify(obj.values));
                document.getElementById("getLanguagesValue").value = JSON.stringify(obj.values);
            }
        });
        for(var profileFormatName in profileName){
            if(profileFormatName === 'formatted'){
                console.log('profile name: ' +profileName[profileFormatName]);
                document.getElementById("getPersonNameValue").value = profileName[profileFormatName];
            }
        }
        profilePhNumber.forEach(function (obj) {
            if (obj.jive_label === 'Phone Number') {
                console.log('Phone number is: ' + obj.value);
                document.getElementById("getPhoneNumberValue").value = obj.value;
            }
        });
    });
  <button id="target_people_picker" class="btn btn-primary" autofocus>getUser</button>
                    <table border="1">
                        <tr>
                            <td>Name:</td> <td><input type="text" id="getPersonNameValue" value=""  /></td>
                        </tr>
                        <tr>
                            <td>Department:</td> <td><input type="text" id="getDepartmentValue" value=""  /></td>
                        </tr>
                        <tr>
                            <td>Location:</td> <td><input type="text" id="getLocationValue" value=""  /></td>
                        </tr>
                        <tr>
                            <td>Phone Number:</td> <td><input type="text" id="getPhoneNumberValue" value=""  /></td>
                        </tr>
                        <tr>
                            <td>Languages:</td> <td><input type="text" id="getLanguagesValue" value=""  /></td>
                        </tr>
                    </table>

以上是我的JS和HTMl代码片段。

如果只有一个用户 ID 在上述情况下像 100 一样传递,则上面的代码有效。如果我想在有 10 个用户的情况下迭代相同的代码片段,那么我必须确保创建一个新的动态输入文本字段,并通过 document.getElement 将它们的 ID 传递给 javascript,以便 JS 可以将值发送到 UI。
我如何确保所有 10/20/40 用户运行相同的代码片段,但它应该创建新字段

例:-

得到答案,我在这里发布,以便如果有人想尝试一下。

$(function() {
    var scntDiv = $('#divID');
    var i = $('#divID p').size() + 1;
    $('#clickHereID').live('click', function() {
        $('<p><input type="text" id="getPersonNameValue" size="20" name="inputTextFieldName_' + i +'"  /></label></p>').appendTo(scntDiv);
        $('<p><input type="text" id="getDepartmentValue" size="20" name="inputTextFieldName_' + i +'"  /></label></p>').appendTo(scntDiv);
        $('<p><input type="text" id="getLocationValue" size="20" name="inputTextFieldName_' + i +'"  /></label></p>').appendTo(scntDiv);
        $('<p><input type="text" id="getPhoneNumberValue" size="20" name="inputTextFieldName_' + i +'"  /></label></p>').appendTo(scntDiv);
        $('<p><input type="text" id="getLanguagesValue" size="20" name="inputTextFieldName_' + i +'"  /></label></p>').appendTo(scntDiv);
        i++;
        return false;
    });
});
<html>
<header><title>This is title</title></header>
<body>
<form id="move-content" action="">
    <button id="clickHereID" class="btn btn-primary">getUser</button>
    <div id="divID" class="emp-attr-dis">
            <input type="text" id="getPersonNameValue" value=""  />
            <input type="text" id="getDepartmentValue" value=""  />
            <input type="text" id="getLocationValue" value=""  />
            <input type="text" id="getPhoneNumberValue" value=""  />
            <input type="text" id="getLanguagesValue" value=""  />
    </div>
</form>
<script type="text/javascript" charset="utf-8" src="javascripts/app/getpeople.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</body>
</html>