私はこの PartialView を持っています:
@model IEnumerable<Tungsten.Models.ProductGroup>
<div id="treeviewpglist" class="filetree">
<ul id="tree" class="treeview">
<li><span class="folder"><a href="#" onclick="return false;" class="treenode"><input type="hidden" value="12">Name</a></span></li>
</ul>
<input type="hidden" value="0" id="pgID">
</div>
そして、このコードを使用してビューにロードします:
$.get('@Url.Action( "GroupList" , "Product" )', function (data) { $('#treeviewdiv div').replaceWith(data); }).success(function ()
{
// do something
});
Chrome、Firefox、IE9 で問題なく動作します。しかし、IE8またはIE9互換ビューでは、コードは完全にロードされず、次のようにロードされます
<div id="treeviewdiv">
<a class="treenode selected" onclick="return false;" href="#">
<input value=12 type=hidden>Name
</a>
<input id=pgID type=hidden>
</div>
どうすれば修正できますか?
$('#treeviewdiv div').load('@Url.Action( "GroupList" , "Product" )', function ()
{
$('#treeviewdiv .treenode').click(function ()
{
$('#treeviewdiv .treenode').removeClass('selected');
$(this).addClass('selected');
$('#pgID').val($(this).children(':hidden').val());
LoadProduct();
});
});
IE8 または IE9 互換ビューでは、$(this).children(':hidden').val()は未定義です。