我在我的应用程序中使用jQuery实现了级联下拉框,并且在IE9,Firefox,Opera和Safari中可以平稳运行。但是,在IE7,IE8等浏览器中无法正常工作。
我查找了该问题并发现错误是由于我的jQuery代码中的indexOf引起的。我尝试删除indexOf,但仍然出现相同的错误。
注意:在telerik脚本中是否有任何解决indexOf的方法?因为我只能在它们的脚本中找到indexOf。
以下是代码:
我查找了该问题并发现错误是由于我的jQuery代码中的indexOf引起的。我尝试删除indexOf,但仍然出现相同的错误。
注意:在telerik脚本中是否有任何解决indexOf的方法?因为我只能在它们的脚本中找到indexOf。
以下是代码:
function OnClientSelectedIndexChanged(sender, eventArgs) {
var senderId = sender.get_id().toString();
var uniqueName = senderId.substring(senderId.lastIndexOf('_'), senderId.length);
if(senderId.indexOf("drpdwnCondition") > 0)
{
return false;
}
var selectedItem = eventArgs.get_item();
var selectedValue = selectedItem.get_value().split('_');
$.ajax({ type: "POST", async: true,
url: "/SalesRepresentativeMonitoring.aspx/GetData", contentType: "application/json; charset=utf-8",
data: "{value:" + JSON.stringify(selectedValue[1]) + "}", dataType: "json",
success: function (msg) {
var resultAsJson = msg.d // your return result is JS array
// Now you can loop over the array to get each object
var cnditionCombo = $find("ctl00_ContentPlaceHolder1_radDock_C_Filter_drpdwnCondition" + uniqueName.toString());
cnditionCombo.clearSelection();
cnditionCombo.trackChanges();
cnditionCombo.clearItems();
for (var i in resultAsJson) {
//alert(resultAsJson[i]);
var item = new Telerik.Web.UI.RadComboBoxItem();
item.set_text(resultAsJson[i]);
item.set_value(resultAsJson[i]);
cnditionCombo.get_items().add(item);
}
var itemAtIndex = cnditionCombo.get_items().getItem(0); //get item in detailCB
itemAtIndex.select();
cnditionCombo.commitChanges();
}
});
感谢您的关注。
indexOf
方法在IE < 9中没有实现,所以我认为这就是OP所指的。 - Tim Down