1

我必须在 textarea 中写入,但我有两个相等的“id”,因为我创建了用于更改数据的表单。如果表格是:

<form method="GET" name="formparam" id="formparam" action="${nextstep}">
    <label>ID</label></td><td>
    <textarea class="expand" name="inputp'+v+'_id" id="inputp'+v+'_id">
    </textarea>
</form>

对于呼叫我使用这个脚本:

function qs(key) {
    key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx control chars
    var match = location.search.match(new RegExp("[?&]" + key + "=([^&]+)(&|$)"));
    return match && decodeURIComponent(match[1].replace(/\+/g, " "));
}

function Pcompila(v){
var i;
var Listparam=['_id','_description','_info','_type','_value'];
for (i=0;i<Listparam.length;i++)
{
var a ='inputp'+v+ Listparam[i];
alert(a);
    if (location.search) {
    var p=qs(a);
    alert(p);
            $('#'+a).text(p);

    }
}

        return;
    }

哪里$('#'+a).text(p);不对,因为不写。
如何更改以调用表单中的 id ???。
我试试这个:

$("formparam").$('#'+a).text(p);

这是绝对错误的!!!

4

2 回答 2

0

我认为问题在于您更新 textarea 值的方式。

它应该是:

$('#'+a).val(p);

请确保没有 2 个元素具有相同的 id。

编辑:如果你真的需要多个元素来拥有相同的 id,你将不得不通过不同的路径。

$('#formparam').find('textarea.expand').val(p);
于 2012-10-25T11:13:57.573 回答
0

$("formparam")不正确是因为formparam不是元素类型,应该是#formparam搜索一个ID。在另一个元素中搜索一个元素的方法是使用.find(),例如$("#formparam").find("#"+a)。但是由于 ID 必须是唯一的,因此您实际上不需要说明在哪里搜索它们,因此您可以使用$("#"+a),就像 Pulkit Mittal 的回答一样。

于 2012-10-25T11:23:54.833 回答