この問題は少し奇妙で、何が起こっているのか誰か知っているかどうか知りたい. CSS、HTMl、および JSはこちらから取得できますが、ローカル マシンで見られる動作はフィドルと同じではありません。その意図は、ユーザーが div 内の span タグをクリックすると、モーダルがポップアップし (まだ行っていません)、ユーザーが変更を編集および保存できるようになることです。update 関数で、テキスト ボックスが#hidden
エレメント。テキスト ボックスの値を設定したことはありませんが、span タグをクリックすると、ビュー ステート非表示の ASP.net フィールドの (ほぼ) 全体の値を含むテキスト ボックスが要素に追加されます。非表示要素の ID をガベージに変更しましたが、おそらく非表示は使用するのに不適切な ID であると考えましたが、それでも同じ効果が得られました。誰が何が起こっているのか知っていますか?
編集:「#hidden」要素は「#asdf」の完全なコードと同じです:
<script type="text/javascript">
$(document).ready(function () {
var personArray = [{
name: 'firstName',
gender: 'male',
age: 30
}, {
name: 'secondName',
gender: 'female',
age: 20
}];
//finds over object in the array and every property on that object
//and makes a control out of it and styles is.
function pretty(array) {
var divArray = [];
for (var i = 0; i < array.length; i++) {
var $div = $('<div>').addClass('person');
for (var prop in array[i]) {
var $span = $('<span>').text(prop + ': ' + array[i][prop]);
$div.append($span);
}
divArray.push($div);
}
return divArray;
}
$('body').append(pretty(personArray));
$('.person span').click(function () {
update($(this).parent());
});
function update(control) {
var $spans = $(control).children('span');
for (var i = 0; i < $spans.length; i++) {
$('#asdf').append($spans[i]).css('float', 'left');
var textBox = $('input').attr('type', 'textbox').css('float', 'right');
$('#asdf').append(textBox);
}
$('.updatePanel').fadeIn();
}
console.log('wEPDwUKLTIwNjAyODU4M2RkOhAAaDmHX8rBCXDQytiqIx94ch'.length);
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="asdf" style="float:right" class="updatePanel"></div>
</div>
</form>
</body>