Я бы сказал, что оба одинаково быстро реализуются, по крайней мере для меня.
Делайте то, что вам наиболее удобно, и мне кажется, что вариант 1 - это то, что вы знаете, как делать, так что это, вероятно, будет вашим выбором, если время имеет существенное значение.
Производительность при вызове ajax в опции 2 отправляет меньше данных по сравнению с состоянием просмотра в опции 1.
Если количество полей не слишком велико, я не думаю, что какое-либо решение является компромиссом. Это больше зависит от того, куда вы помещаете свою логику, и можете ли вы довести ее до клиента.