0

following is the html code

<input id="Jobs[0].TestParameter" name="Jobs[0].TestParameter" type="hidden" />

following is the jquery code

var ParamArr = [ "Ford", "BMW", "Fiat" ];
$("#Jobs[0].TestParameter").val(JSON.stringify(ParamArr));
            alert($("#Jobs[0].TestParameter").val());

3 Answers3

3

Escape the special characters in your ID tag to fix your problem.

$("#Jobs\\[0\\]\\.TestParameter").val(JSON.stringify(ParamArr));
            alert($("#Jobs\\[0\\]\\.TestParameter").val());

var ParamArr = [ "Ford", "BMW", "Fiat" ];
$("#Jobs\\[0\\]\\.TestParameter").val(JSON.stringify(ParamArr));
            alert($("#Jobs\\[0\\]\\.TestParameter").val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Jobs[0].TestParameter" name="Jobs[0].TestParameter" type="hidden" />
Mayank Patel
  • 1,563
  • 1
  • 14
  • 19
Huso
  • 1,501
  • 9
  • 14
0

pass simple id \\ for escape character

var ParamArr = ["Ford", "BMW", "Fiat"];
$("#Jobs\\[0\\]\\.TestParameter").val(JSON.stringify(ParamArr));
alert($("#Jobs\\[0\\]\\.TestParameter").val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Jobs[0].TestParameter" name="Jobs[0].TestParameter" type="hidden" />
Bhargav Chudasama
  • 6,928
  • 5
  • 21
  • 39
0

You need to escape the square brackets([]) and the dot (.) so that they are not counted as attribute selectors. Try this

var ParamArr = ["Ford", "BMW", "Fiat"];
$("#Jobs\\[0\\]\\.TestParameter").val(JSON.stringify(ParamArr));
alert($("#Jobs\\[0\\]\\.TestParameter").val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Jobs[0].TestParameter" name="Jobs[0].TestParameter" type="" />
Carsten Løvbo Andersen
  • 26,637
  • 10
  • 47
  • 77