2012-01-25 4 views
0

У меня есть одна функция JavaScript, которые установлены с помощью этой функции, и я хотел бы преобразовать эту функцию в jQuery.Преобразование 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; 
} 

ответ

1

Благодаря return false, ваша функция просто же с

function setDDls(strCity, strState, strCountry) { 
     $(txtCity).val(strCity); 
     $(ddlState).val(strState); 
     $(ddlCountry).val(strCountry); 
     $("#overlay .close").click(); 
     return false; 
} 
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, вы выбираете по идентификатору предваряя идентификатор с "#", что

$("#<%= txtCity.ClientID %>") 

эквивалентно

document.getElementById("<%= txtCity.ClientID %>") 

. .. кроме того, что версия jQuery возвращает объект jQuery независимо от того, было ли совпадение (вы можете проверить отсутствие соответствия, проверив .length), в то время как .getElementById() возвращает ссылку на привод al DOM или null, если ничего не найдено.

Если у вас были другие проблемы, вам может потребоваться указать их в своем вопросе.

+0

спасибо, теперь я изменил свою функцию, мне нужно преобразовать for (i = 0; i

Смежные вопросы