Учитывая ваши переменные здесь:
var txtName = $("input#txtName"),txtPrice = $("input#txtPrice");
Вы можете напрямую получить доступ к методам jQuery, например, так:
txtName.val("");
txtPrice.val("");
Поскольку они уже объекты jQuery.Нет необходимости пытаться снова обернуть их в функцию $()
jQuery.
Насколько я вижу, единственный способ, которым функция jQuery принимает массив, - это когда массивэлементы являются элементами DOM, а не объектами jQuery.(Если он работает с объектами jQuery, которые, по-видимому, не охватываются документом, и когда я попробовал, это не сработало для меня.) Поэтому, учитывая, что вы знаете, что каждый из ваших объектов jQuery имеет только один элемент (потому что вывыбранный по идентификатору), вы можете попробовать это:
$([txtName[0],txtPrice[0]]).val("");
Но все равно будет создан новый объект jQuery, содержащий оба элемента, поэтому он кажется немного избыточным, когда вы можете просто сделать это так, как яупомянуто первым.
(Обратите внимание также, что в вашем селекторе "input # txtName" часть "input" является избыточной, поскольку вы затем выбираете по id, а id является (или должен быть) уникальным на странице.)
РЕДАКТИРОВАТЬ: если у вас был действительно длинный список переменных и вы хотели бы сохранить ввод текста другим способом, это было бы так:
$.each([txtName,txtPrice,txtTest1,txtTest2,txtTest3],function(i,v) { v.val(""); });