循环通过JSON对象并使用jQuery动态输出到textbox

循环通过JSON对象并使用jQuery动态输出到textbox,jquery,json,Jquery,Json,我将下面的JSON对象返回给我,并希望更新页面上已经存在的两个文本框TXTSassigned01和TXTSassigned02的val。我知道我应该使用循环来实现这一点,但不确定如何在jQuery中动态选择文本框。任何帮助都将不胜感激 JSON对象: 迄今为止的代码: function getAssignedPerson(projectID) { $.ajax({ url: "view-requests.aspx/getAssignedPerson",

我将下面的JSON对象返回给我,并希望更新页面上已经存在的两个文本框TXTSassigned01和TXTSassigned02的val。我知道我应该使用循环来实现这一点,但不确定如何在jQuery中动态选择文本框。任何帮助都将不胜感激

JSON对象:

迄今为止的代码:

function getAssignedPerson(projectID) {
        $.ajax({
            url: "view-requests.aspx/getAssignedPerson",   // Current Page, Method
            data: JSON.stringify({
                projectID: projectID
            }), // parameter map as JSON
            type: "POST", // data has to be POSTed
            contentType: "application/json", // posting JSON content    
            dataType: "JSON",  // type of data is JSON (must be upper case!)
            timeout: 10000,    // AJAX timeout
            success: function (result) {

                $.each(result, function (i, v) {
                    $('#txtAssigned0'+ v).val(result.d[i]); <--- here's my problem
                });

            },
            error: function (xhr, status) {
                alert(status + " - " + xhr.responseText);
            }
        });
    }

如果要添加新文本框并命名,可以使用以下选项:

$('<input>').attr({type: 'text').val("YOUR_VALUE").appendTo('#ID_OF_SOME PARENT_DOM_OBJ')
您还可以添加更多内容,例如单击处理程序,例如

$('<input>').attr({type: 'text').val("YOUR_VALUE").appendTo('#ID_OF_SOME PARENT_DOM_OBJ').click(function(){alert('hello');});
其中main将是id为“main”的某个div,其中将显示文本字段

页面上有以下HTML:

<input id='txtAssigned01'/>
<input id='txtAssigned02'/>
因此需要循环结果对象中的数组d:

$.each(result.d, function (i, v) {
    console.log(i);
    console.log(v);
    var x = i + 1;
    $('#txtAssigned0'+ x).val(v); //<--- here's my problem
});

这是一个例子

你试过了吗。attrname,somename?我更新了我的问题。对不起,我解释得不好。文本框txtAssignedPerson01和txAssignedPerson02已经在页面上,我只想用JSON对象的循环更新它们的val。这有意义吗?原始代码段的唯一问题是,当您使用$时,每个索引都从0开始,因此您最好将文本框的ID更改为txtAssigned00和txtAssigned01,或者将+i更改为+i+1。此外,您的代码正在执行您想要的操作。
var result = {d:['test1', 'test2']};
$.each(result.d, function (i, v) {
    console.log(i);
    console.log(v);
    var x = i + 1;
    $('#txtAssigned0'+ x).val(v); //<--- here's my problem
});
<input id='txtAssigned00'/>
<input id='txtAssigned01'/>
$.each(result.d, function (i, v) {
    $('#txtAssigned0'+ i).val(v); 
});