Hello:

I'm trying to use the getJson() with asp.net page (attempting to adapt
jquery in action example to .net):

<script type="text/javascript">
      $(function(){
        $('#styleDropdown')
          .change(function(){
            var styleValue = $(this).val();
            $('#detailsDisplay').load(
              'getDetails.aspx',
              { style: styleValue }
            );
            adjustColorDropdown();
          })
          .change();
        $('#colorDropdown')
          .change(adjustSizeDropdown);
      });

      function adjustColorDropdown() {
        var styleValue = $('#styleDropdown').val();
        var dropdownSet = $('#colorDropdown');
        if (styleValue.length == 0) {
          dropdownSet.attr("disabled",true);
          $(dropdownSet).emptySelect();
        }
        else {
          dropdownSet.attr("disabled",false);
          $.getJSON(
            'getColors.aspx',
            {style:styleValue},
            function(data){
              $(dropdownSet).loadSelect(data);
              adjustSizeDropdown();
            }
          );
        }
      }

      function adjustSizeDropdown() {
        var styleValue = $('#styleDropdown').val();
        var colorValue = $('#colorDropdown').val();
        var dropdownSet = $('#sizeDropdown');
        if ((styleValue.length == 0)||(colorValue.length == 0) ) {
          dropdownSet.attr("disabled",true);
          $(dropdownSet).emptySelect();
          adjustSizeDropdown();
        }
        else {
          dropdownSet.attr("disabled",false);
          $.getJSON(
            'getSizes.jsp',
            {style:styleValue,color:colorValue},
            function(data){$(dropdownSet).loadSelect(data)}
          );
        }
      }
    </script>


The getColors.aspx code is below. here is the object:
[{value:'',caption:'choose color'},{value:'hy',caption:'Honey'},
{value:'sd',caption:'Peanut'}]

 I can step through the .net code and it appears to be generating the
json correctly but the dropdown is never populated. So it appears the
jquery is working but my returned json object is incorrect. Thanks.


    Private result As String
    Private sku As String = "--"

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
        Dim sb As New StringBuilder
        Dim qs As String = ""

        qs = Request.Params.Item("style")

        If Not IsNothing(qs) Then
            'json
            sb.Append("[{value:'',caption:'choose color'},")
            Select Case qs
                Case "7141832"
                    sku = "7141832"
                    sb.Append("{value:'bk',caption:'Black Oil-tanned'},
{value:'br',caption:'Black Polishable'}")
                Case "7173656"
                    sku = "7173656"
                    sb.Append("{value:'bk',caption:'Black'},
{value:'br',caption:'Crazy Horse'}")
                Case "7141922"
                    sku = "7141922"
                    sb.Append("{value:'bk',caption:'Black'},
{value:'br',caption:'Crazy Horse'}")
                Case "7177382"
                    sku = "7177382"
                    sb.Append("{value:'hy',caption:'Honey'},
{value:'sd',caption:'Peanut'}")
                Case "7141730"
                    sku = "7141730"
                    sb.Append("{value:'rw',caption:'Brown'},
{value:'hy',caption:'Honey'}")
                Case "7141833"
                    sku = "7141833"
                    sb.Append("{value:'br',caption:'Russet'}")
                Case "7257914"
                    sku = "7257914"
                    sb.Append("{value:'br',caption:'Brown'}")
                Case "7269643"
                    sku = "7269643"
                    sb.Append("{value:'bk',caption:'Black'}")
                Case Else
                    sb.Append("{value:'bk',caption:'Black'}")
            End Select
            '
            sb.Append("]")
            result = sb.ToString
        End If

        ''
    End Sub

    Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)

        writer.WriteLine(result)

    End Sub

Reply via email to