Get url variables from url to form with jquery
http://stackoverflow.com/questions/16273788/get-url-variables-from-url-to-form-with-jquery/16273947#16273947
by ouadie
HTML
<form class="form-horizontal">
<label class="control-label" for="smoker">Do you smoke?</label>
<select id="smoker" name="smoker"><option value="No">No</option><option value="Yes">Yes</option></select>
<label class="control-label" for="amount">Amount</label>
<select id="amount" name="amount"><option value="500000">500 000</option><option value="1000000">1 000 000</option><option value="1500000">1 500 000</option><option value="2000000">2 000 000</option></select>
<label class="control-label" for="age">Age</label>
<input id="age" name="age" type="text" />
<button class="btn" id="calc" type="submit">Show price</button>
</form>
<div class="alert alert-info hide" id="price-result"></div>
JavaScript
//JSON object
var obj = {"data":
[
{"age": "18","500000": "645","1000000": "1018","1500000": "1391","2000000": "1764","smoker": "No"},
{"age": "19","500000": "645","1000000": "1018","1500000": "1391","2000000": "1764","smoker": "No"},
{"age": "20","500000": "645","1000000": "1018","1500000": "1391","2000000": "1764","smoker": "No"},
{"age": "18","500000": "964","1000000": "1544","1500000": "2125","2000000": "2705","smoker": "Yes"},
{"age": "19","500000": "964","1000000": "1544","1500000": "2125","2000000": "2705","smoker": "Yes"},
{"age": "20","500000": "964","1000000": "1544","1500000": "2125","2000000": "2705","smoker": "Yes"}
] };
var smoker = GetURLParameter('smoker');
var amount = GetURLParameter('amount');
var age = GetURLParameter('age');
v$('#smoker').val( smoker );
$('#amount').val( amount );
$('#age').val( age );
//Find the value when form is submitted
$('form').submit(function(e) {
e.preventDefault();
var data = jQuery.grep(obj.data, function(element, index){
return element.age && element.smoker; // retain appropriate elements
});
var selectedSmoke = $('#smoker').val().toString().toLowerCase();
var selectedAmount= $('#amount').val().toString().toLowerCase();
var selectedage = $('#age').val().toString().toLowerCase();
var amount = "";
$.each(data,function(k, v){
if( data[k].age.toString().toLowerCase() == selectedage &&
data[k].smoker.toString().toLowerCase() == selectedSmoke &&
data[k][selectedAmount] != undefined){
amount = data[k][selectedAmount];
}
});
//Empty the div
$('#price-result').empty();
//Send to Server
$.post('http://tomasjacobsen.com/formtest', $("form").serialize(), function(data) {
console.log("data sent");
});
...