Given your variables here:
var txtName = $("input#txtName"),txtPrice = $("input#txtPrice");
You can directly access such jQuery methods:
txtName.val(""); txtPrice.val("");
Because they are already jQuery objects. There is no need to try wrapping them again in the $() jQuery function.
As far as I can see, the only way the jQuery function accepts an array is when the elements of the array are DOM elements, not jQuery objects, (If it works with jQuery objects that don't seem to be considered in doco, and when I tried it, this did not work for me.) Therefore, given that you know that each of your jQuery objects has only one element (because you are selected by identifier), you can try the following:
$([txtName[0],txtPrice[0]]).val("");
But it's still going to create a new jQuery object that contains both elements, so it seems a bit redundant when you can just do it the way I first mentioned.
(Also note that in your βinput # txtNameβ selector, the βinputβ part is redundant because you select by id, and the identifier (or should be) is unique on the page.)
EDIT: if you have a really long list of variables and want to save text input in another way, follow these steps:
$.each([txtName,txtPrice,txtTest1,txtTest2,txtTest3],function(i,v) { v.val(""); });