2013-03-29 4 views
0

У меня есть эта проблема с моим кодом jquery. Мне нужно, чтобы связать значение переменной jquery с атрибутом html href. Однако он сохраняет значение [object%20Object] вместо фактического значения переменной.ошибка конкатенации в jQuery

Вот мой jquery.

var searchValname = $("input#name"); 
var alink = $("a#name"); 
alink.click(function(){ 
    alink.attr("href","searchDBfiltered.php?type=hospitalnumber&val=" + searchValname); 
}); 

ожидается возврат searchDBfiltered.php?type=hospitalnumber&val= (variable value). Вместо этого он показывает [object%20Object]. Что может быть неправильно? Я искал это без всякой помощи.

ответ

2

Это потому, что вы в настоящее время пытаетесь вставить фактический объект #name в ссылку, когда действительно хотите значение.

var searchValname = $("input#name").val(); 
0

Попробуйте обновить первую строку: объекты

var searchValname = $("input#name").val(); 
var alink = $("a#name"); 
alink.click(function(){ 
alink.attr("href","searchDBfiltered.php?type=hospitalnumber&val=" + searchValname); 
}); 
+0

Это была моя ошибка. полностью забыл бой val() ;. Кстати, я новичок в jquery. Огромное спасибо. – Joseph

1

JQuery - не что объекты. Когда вы объединяете объект в строку, вызывается неявный toString(), который, если иное не определено иначе, вернет "[object Object]".

Если вы пытаетесь сцепить значение входа, вы должны использовать .val():

alink.attr("href","searchDBfiltered.php?type=hospitalnumber&val=" + 
    searchValname.val()); 
//    ^^^^^^ 
Смежные вопросы