У меня есть несколько полей ввода класса "inputbox". Я хотел бы добавить ".00" в конец каждого из них. Я попробовал это:
$('.inputbox').val($(this).val()+".00");
Но $ (this) не возвращает никакого значения, поэтому я просто получаю ".00" во всех коробках. Любая помощь в том, как получить значение из каждого из этих полей ввода, чтобы я мог добавить к нему, будет с благодарностью.
val()
имеет обратный вызов, вы можете использовать его именно для таких вещей, где вам нужно сориентироваться на значения многих элементов в коллекции.
$('.inputbox').val(function(_, val) { return val + ".00" });
Селекторы jQuery возвращают массивы. Но функция val()
не может использоваться для массивов, ее можно использовать для одного элемента. Таким образом, вы можете использовать .each() jQuery:
$('.inputbox').each(function(){
$(this).val($(this).val()+".00");
});
val()
может получить и установить значение, а также принимает дополнительную функцию обратного вызова, которую я здесь использую, и внутри этого обратного вызова вторым аргументом является текущее значение, в данном случае val и Вы можете добавить что-то к этому и вернуть его, и оно будет установлено как новое значение. Это довольно изящно, и это также объясняется в документации для val () .