JSFiddle - React, Tailwind, and code Playground
HTML
<form>
<select name="params[language]">
<option value="en-GB">English (UK)</option>
<option value="de-DE">German</option>
</select>
<select name="params[timezone]">
<option value="1">First</option>
<option value="2">Second</option>
</select>
</form>
JavaScript
/**
* Keys-arrays are encoded. This is fine (http://www.php.net/manual/en/function.http-build-query.php)
* but cannot decode to deep object using Object.parseQueryString
*/
var $form = document.getElement('form'),
dataString = $form.toQueryString(),
dataObject = dataString.parseQueryString();
console.log('element to queryString:', dataString);
console.log('queryString to object:', dataObject);
console.log('object to queryString:', Object.toQueryString(dataObject));