我试图从带有C#代码的<select id="SelectId" runat="server">
<option value="1">1</option>
<option value="2">2</option>
</select>
中选择一个选项,此输入的选项是通过AJAX调用创建的,在页面加载后我的选择是这样的:
ListItem li = SelectId.Items.FindByValue("1");
if (li != null)
li.Selected = true;
else
Response.Write("mm");
在我的C#代码中,我有以下代码:
success: function (data) {
var options = "";
var myData = JSON.parse(data.d);
for (var i = 0; i < myData.length; i++) {
var id = myData[i].Id;
options += '<option value ="' + id + '">';
options += id;
options += '</option>';
}
$('#SelectId').html(options);
}
但我总是得到response.write(&#34; mm&#34;),我做错了什么?也许是为了ajax电话?当我执行我的C#代码时,我的选择没有任何选项?
修改
使用手动创建的选项进行测试并且工作正常,因此问题在于如何创建选择选项,所以我该如何解决这个问题?我需要在页面加载时自动执行我的C#代码。
编辑2:
AJAX代码:
Observable:<any>
答案 0 :(得分:0)
我需要出于个人原因保存所选值,因此我无法使用C#执行此操作,因此我使用JavaScript
和sessionStorage
,因此我的代码解决了此问题如下:
function saveSelect() {
$('#SelectId').change(function () {
var option = $('#SelectId').val();
localStorage.SelecteOption = option;
});
}
function loadSelect() {
var option = localStorage.SelecteOption;
if (option != null)
$('#SelectId').val(option).change();
}
我只需在填写选择后调用此函数。
Ajax Call code....
$('#id').html(opciones);
saveSelect();
loadSelect();