Now you’re getting into a pretty complex area. The best user experience will come from a local database such as the Web SQL Database (sqllite) through Cordova, but that would limit your data to one mobile device.
You would then want to synchronize your local data with data on a server when your mobile device is online. Example backends were recently discussed in this topic: What backend solution would you recommend?.
Now, With multiple users, or even just multiple devices, your distributed databases will need to reconcile conflicts. For example if you update the same record on your iPhone and your iPad while offline, how should the conflict be handled? How will you handle ID creation within different databases and maybe even with different schemes?
And then, of course, you have to consider how to present this all to the user with asynchronous communication. I have looked but never found a framework that offers all of this. Perhaps the client manager that @Calendee mentioned? Let us know if you find one.