如何写一个形式的id

时间:2012-10-25 11:00:42

标签: javascript jquery

我必须在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>

对于Call我使用这个脚本:

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);错误,因为不写。
如何改变以表格形式呼叫身份??? 我试着用这个:

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

这绝对错误!!!

2 个答案:

答案 0 :(得分:0)

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

应该是:

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

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

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

$('#formparam').find('textarea.expand').val(p);

答案 1 :(得分:0)

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