无法通过 jQuery 读取 Razor 设置的属性,为什么?
Unable to read attribute set by Razor through jQuery, why?
console.log(myvar)
在不应该的时候显示 undefined
。最后一个 console.log shows
正是完整的标签,我可以看到 data-mydata
有一个值。为什么会这样?
@foreach (var item in Model) {
<div class="row">
<label class="col-md-offset-3 col-md-9">
<input type="radio" class="myclass" id="@item.Id" name="myname" onchange="myHandler()" value="@item.property" data-mydata="@Html.Encode(item.property2)"/>
@item.Name
</label>
</div>
}
<script>
function myHandler() {
var myvar = $(this).data('mydata');
console.log(myvar);
console.log($("input[name='myName']:checked")[0]);
}
</script>
尝试将 this
传递给 myHandler
:
@foreach (var item in Model) {
<div class="row">
<label class="col-md-offset-3 col-md-9">
<input type="radio" class="myclass" id="@item.Id" name="myname" onchange="myHandler(this)" value="@item.property" data-mydata="@Html.Encode(item.property2)"/>
@item.Name
</label>
</div>
}
<script>
function myHandler(t) {
var myvar = $(t).data('mydata');
console.log(myvar);
console.log($("input[name='myName']:checked")[0]);
}
</script>
console.log(myvar)
在不应该的时候显示 undefined
。最后一个 console.log shows
正是完整的标签,我可以看到 data-mydata
有一个值。为什么会这样?
@foreach (var item in Model) {
<div class="row">
<label class="col-md-offset-3 col-md-9">
<input type="radio" class="myclass" id="@item.Id" name="myname" onchange="myHandler()" value="@item.property" data-mydata="@Html.Encode(item.property2)"/>
@item.Name
</label>
</div>
}
<script>
function myHandler() {
var myvar = $(this).data('mydata');
console.log(myvar);
console.log($("input[name='myName']:checked")[0]);
}
</script>
尝试将 this
传递给 myHandler
:
@foreach (var item in Model) {
<div class="row">
<label class="col-md-offset-3 col-md-9">
<input type="radio" class="myclass" id="@item.Id" name="myname" onchange="myHandler(this)" value="@item.property" data-mydata="@Html.Encode(item.property2)"/>
@item.Name
</label>
</div>
}
<script>
function myHandler(t) {
var myvar = $(t).data('mydata');
console.log(myvar);
console.log($("input[name='myName']:checked")[0]);
}
</script>