我有这个输入:
<input type="text" name="Latitude" id="Latitude" />
然后jquery设置值ok:
$('#Latitude').val(latitude);
但是现在我需要将输入的id更改为RegisterModel_Latitude或RegisterModel.Latitude,所以:
<input type="text" id="RegisterModel_Latitude" />
或
<input type="text" id="RegisterModel.Latitude" />
但是我无法用jquery设置值......我试过了:
$("#RegisterModel_Latitude").val(latitude);
$("#RegisterModel.Latitude").val(latitude);
$("#RegisterModel\\.Latitude").val(latitude);
$('input[id="RegisterModel_Latitude"]').val(latitude);
$('input[id="RegisterModel.Latitude"]').val(latitude);
$('input[id="RegisterModel\\.Latitude"]').val(latitude);
但这些都不起作用,所以我做错了什么?
答案 0 :(得分:2)
_
是id的有效字符(有关示例,请参阅@ VisioN的jsfiddle。)
.
表示一个班级。因此$("#RegisterModel.Latitude")
正在寻找标识为RegisterModel
且类Latitude
的元素。有关示例,请参阅我的@VisioN jsfiddle的分支。
答案 1 :(得分:1)
检查变量纬度(var latitude)可能会丢失
答案 2 :(得分:0)
等待。如果我得到它,你想要更改ID,但你使用的是val而不是attr。为什么不:
$('#Latitude').attr('id','RegisterModel_Latitude');
或
$('input[name=Latitude]').attr('id','RegisterModel_Latitude');
val会更改值,但不会更改ID。 =)
答案 3 :(得分:0)
我找到解决方案,改变:
@Html.TextBoxFor(m => m.RegisterModel.Address, new { onblur = "codeAddress(RegisterModel_Address.value);" })
为:
<input type="text" id="RegisterModel_Address" onblur="codeAddress(RegisterModel_Address.value)" />
现在正在努力,感谢所有人。