如何使用JQuery中另一个ID的值附加ID

时间:2011-09-23 15:06:51

标签: jquery html forms

我需要获取id的值并将其附加到我表单上的url的末尾。这是输入的HTML代码......

<input id="ServiceRequestEditForm.CustomObject6 Id" type="hidden" value="" tabindex="-1" name="ServiceRequestEditForm.CustomObject6 Id"/>

我想捕获此输入的值。我正在尝试使用以下代码,但它不起作用......

$("a[href*='http://www.google.com']").attr('href', 
('http://www.google.com/search?q'+('Form.CustomObject6 Id').val()));

有人可以帮我解决这个问题。

4 个答案:

答案 0 :(得分:1)

$('a[href*="http://google.com"]').attr('href','http://google.com/search?q'+$('#someID').attr('id'));

答案 1 :(得分:0)

不确定我完全理解,但是这样的事情?

$('#'+el.id).val()

答案 2 :(得分:0)

您可以使用id函数获取元素的attr()属性:

var myId = $('Form.CustomObject6').attr('id');

因此,假设您需要Form.CustomObject6的ID,这可能就是您要寻找的内容:

$("a[href*='http://www.google.com']").attr('href',
    ('http://www.google.com/search?q'+ $('#ServicerequestEditForm.CustomObject6 Id').attr('id')));

如果您仍然无法捕获所需的id,请提供HTML示例。

编辑:我重新阅读了您的问题,并认为我误解了您的要求。我认为您正在尝试获取ServiceRequestEditForm.CustomObject6 Id元素的值,但它会一直返回undefined。这是因为jQuery选择器包含特殊字符(.和空格)。您必须使用两个反斜杠转义每个特殊字符:\\。试试这个:

var myVal = $('#ServiceRequestEditForm\\.CustomObject6\\ Id').val();

所以你的代码现在变成了:

$("a[href*='http://www.google.com']").attr('href',
    ('http://www.google.com/search?q'+ $('#ServiceRequestEditForm\\.CustomObject6\\ Id').val()));

答案 3 :(得分:0)

$("a[href*='http://www.google.com']").attr('href', 
'http://www.google.com/search?q'+$('element').attr("id"));