我有一个JavaScript函数,它是从这个函数设置下拉和文本框,我想把这个函数转换成jQuery,请帮助。
function setDDls(strCity, strState, strCountry) {
$(txtCity).val(strCity);
$(ddlState).val(strState);
$(ddlCountry).val(strCountry);
$("#overlay .close").click();
return false;
txtCitySearch = document.getElementById("<%= txtCity.ClientID %>");
ddlStateSearch = document.getElementById("<%= ddlState.ClientID %>");
ddlCountrySearch = document.getElementById("<%= ddlCountry.ClientID %>");
txtCitySearch.value = strCity;
ddlStateSearch.selectedIndex = 0
for (i = 0; i < ddlStateSearch.options.length; i++) {
if (ddlState.options(i).text.toUpperCase() == strState.toString().toUpperCase()) {
ddlStateSearch.selectedIndex = i;
break;
}
}
ddlCountrySearch.selectedIndex = 0;
for (i = 0; i < ddlCountrySearch.options.length; i++) {
if (ddlCountrySearch.options(i).text.toUpperCase() == strCountry.toString().toUpperCase()) {
ddlCountrySearch.selectedIndex = i;
break;
}
}
$("#overlay .close").click();
return false;
}
答案 0 :(得分:1)
由于return false
,您的功能与
function setDDls(strCity, strState, strCountry) {
$(txtCity).val(strCity);
$(ddlState).val(strState);
$(ddlCountry).val(strCountry);
$("#overlay .close").click();
return false;
}
答案 1 :(得分:0)
我假设函数开头显示的位是你当前尝试使用jQuery来执行函数的后半部分的操作吗?如果是这样,主要问题只是你没有设置jQuery选择器。试试这个:
function setDDls(strCity, strState, strCountry) {
$("#<%= txtCity.ClientID %>").val(strCity);
$("#<%= ddlState.ClientID %>").val(strState);
$("#<%= ddlCountry.ClientID %>").val(strCountry);
$("#overlay .close").click();
return false;
}
在jQuery中,就像在CSS中一样,你通过在id前加上“#”来选择id,这样
$("#<%= txtCity.ClientID %>")
相当于
document.getElementById("<%= txtCity.ClientID %>")
...除了jQuery版本返回一个jQuery对象,无论是否匹配(您可以通过检查.length
来测试不匹配),而.getElementById()
返回对该引用的引用实际DOM对象或null
如果没有匹配。
如果您遇到其他问题,那么您可能需要在问题中拼写出来。