2011-07-25 18 views
0

私はUserControllでRadComboBoxを使用していますが、RadComboBoxのチェックボックスを使用してすべての都市をバインドします。Microsoft JScriptランタイムエラー: 'getCities'は定義されていません

<script type="text/javascript"> 
function getItemCheckBox(item) { 
    debugger; 
    //Get the 'div' representing the current RadComboBox Item. 
    var itemDiv = item.get_element(); 

    //Get the collection of all 'input' elements in the 'div' (which are contained in the Item). 
    var inputs = itemDiv.getElementsByTagName("input"); 

    for (var inputIndex = 0; inputIndex < inputs.length; inputIndex++) { 
     var input = inputs[inputIndex]; 

     //Check the type of the current 'input' element. 
     if (input.type == "checkbox") { 
      return input; 
     } 
    } 

    return null; 
} 
function check() { 
    debugger; 
    alert("hello"); 
} 
function getCities() { 

    var combo = $find("<%= cmbCity.ClientID %>"); 
    var hdnAddressType = document.getElementById("<%= hfGeoLocation.ClientID %>"); 
    var items = combo.get_items(); 
    var selectedItemsTexts = ""; 
    var selectedItemsValues = ""; 
    var itemsCount = items.get_count(); 
    for (var itemIndex = 0; itemIndex < itemsCount; itemIndex++) { 
     var item = items.getItem(itemIndex); 

     var checkbox = getItemCheckBox(item); 

     //Check whether the Item's CheckBox) is checked. 
     if (checkbox.checked) { 
      selectedItemsTexts += item.get_text() + ", "; 
      selectedItemsValues += item.get_value() + ","; 
     } 
    } 

    hdnAddressType.value = selectedItemsValues; 

    selectedItemsTexts = selectedItemsTexts.substring(0, selectedItemsTexts.length - 2); 
    selectedItemsValues = selectedItemsValues.substring(0, selectedItemsValues.length - 2); 

    //Set the text of the RadComboBox with the texts of the selected Items, separated by ','. 
    combo.set_text(selectedItemsTexts); 

    //Set the comboValue hidden field value with values of the selected Items, separated by ','. 
    combo.set_value(selectedItemsValues); 

    //Clear the selection that RadComboBox has made internally. 
    if (selectedItemsValues == "") { 
     combo.clearSelection(); 
    } 
} 
</script> 

<div> 
     <telerik:RadComboBox ID="cmbCity" runat="server" Height="200px" ExpandDirection="Up" 
        Width="130px"> 
        <ItemTemplate> 
         <div id="chk"> 
          <asp:CheckBox ID="chkCity" runat="server" onclick="getCities();" Text='<%#Eval("CityName")%>' /> 
         </div> 
        </ItemTemplate> 
    </telerik:RadComboBox> 
    <asp:HiddenField ID="hfGeoLocation" runat="server" /> 
</div> 

そして、背後にあるコードでは - :ASPX FOR

:それのために私は書かれたコードを次のよう持っています。次のコード: -

protected void Page_Load(object sender, EventArgs e) 
{ 
    List<usp_SelectCmbCityResult> lstCity = null; 
    if (!Page.IsPostBack) 
    { 
     lstCity = new CityDomain().SelectCmbCity(); 
     cmbCity.DataSource = lstCity; 
     cmbCity.DataValueField = "CityName"; 
     cmbCity.DataTextField = "CityName"; 
     cmbCity.DataBind(); 
     MenUs.Common.Common.BindRadioButtonList(ref rbtnOrientation, typeof(MenUs.Common.Enums.Orientation)); 
     MenUs.Common.Common.BindRadioButtonList(ref rbtnTargetGender, typeof(MenUs.Common.Enums.TargetGender)); 
     MenUs.Common.Common.BindRadioButtonList(ref rbtnTargetMarital, typeof(MenUs.Common.Enums.TargetMaritalStatus)); 
    } 
} 

ときIクリック/チェックボックス私はGettigエラーが

のMicrosoft JScriptのランタイムエラーだ: 'getCities'

を定義されていない間違って何を教えてください? ありがとうございました.....


問題が解決しました。実際にマスターページに問題があったため、このエラーが発生したのはなぜですか。 ありがとうございました....

+0

IISまたはASP.NET開発サーバーでこのエラーが発生しますか。 –

+0

@RăzvanPanda:ASP.NET開発サーバーS –

+0

スクリプトタグはコード内で閉じられていますか? –

答えて

0

埋め込みASPタグではなく、ブラウザが見るようにJavaScriptコードを表示する方がよいでしょう。

これらのASPタグは文字列に変換する必要があります。私は問題がこれらの文字列の1つである可能性が高いと思う。私はcmbCity.ClientIDまたはhfGeoLocation.ClientIDの値が何であるかはわかりませんが、コードが壊れている可能性があります。引用符や改行が含まれていると、JavaScriptのコードは無効になります。

ブラウザのコードの外観を確認するには、ブラウザの[ソースの表示]機能を使用する必要があります。これは、問題の内容を示す可能性があります。

関連する問題