jQWidgets Forums

jQuery UI Widgets Forums Lists DropDownList Binding DropDownList to jsonp

This topic contains 2 replies, has 2 voices, and was last updated by  edwardw 11 years, 10 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • Binding DropDownList to jsonp #21560

    edwardw
    Member

    Hi Peter

    I looked at the documentation and the samples and I’m still having a problem. My dropdownlist populates fine when I bind with a json object. I’d like to use the same select statement for all of my lookup tables, so I’d like to pass the table name as a variable in jsonp. Here is my code:
    var sampletypessource =
    {
    datatype: “jsonp”,
    datafields: [
    { name: ‘label’},
    { name: ‘value’}
    ],
    url: ‘dropdownlistdata.php’,
    data: {
    tablename: $tname
    }
    };
    var sampletypeAdapter = new $.jqx.dataAdapter(sampletypessource,
    {
    formatData: function (data) {
    return data;
    }
    }
    );

    The code for the database lookup file is:
    $tname = $_GET[‘tname’];
    $query = ‘SELECT * FROM ‘ ;
    $query .= $tname;
    $from = 0;
    $to = 30;
    $query .= ” LIMIT “.$from.”,”.$to;
    $result = mysql_query($query) or die(“SQL Error 1: ” . mysql_error());
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $sampletypes[] = array(
    ‘label’ => $row[‘label’],
    ‘value’ => $row[‘value’]
    );
    }
    echo jsonp_encode($sampletypes);

    Finally the markup for the dropdownlist column in my jqxgrid is:
    { text: ‘Type’, datafield: ‘sample_type’, columntype: ‘dropdownlist’, width: 65, selectedindex: 0,
    createeditor: function (row, value, editor) {
    editor.jqxDropDownList({ source: sampletypeAdapter, displayMember: ‘label’, valueMember: ‘value’ });
    }
    },

    Binding DropDownList to jsonp #21580

    Peter Stoev
    Keymaster

    Hi,

    Please find below a sample which illustrates how to bind jqxDropDownList to JSONP Data Source:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <title id='Description'>In this example the ComboBox is bound to a Remote Data.</title>
    <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="../../scripts/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxlistbox.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdropdownlist.js"></script>
    <script type="text/javascript" src="../../scripts/gettheme.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
    var theme = getDemoTheme();
    // prepare the data
    var source =
    {
    datatype: "jsonp",
    datafields: [
    { name: 'countryName' },
    { name: 'name' },
    { name: 'population', type: 'float' },
    { name: 'continentCode' }
    ],
    url: "http://ws.geonames.org/searchJSON",
    data: {
    featureClass: "P",
    style: "full",
    maxRows: 50
    }
    };
    var dataAdapter = new $.jqx.dataAdapter(source);
    $("#jqxdropdownlist").jqxDropDownList(
    {
    width: 200,
    height: 25,
    source: dataAdapter,
    theme: theme,
    selectedIndex: 0,
    displayMember: "countryName",
    valueMember: "name"
    });
    $("#jqxdropdownlist").on('select', function (event) {
    if (event.args) {
    var item = event.args.item;
    if (item) {
    var valueelement = $("<div></div>");
    valueelement.text("Value: " + item.value);
    var labelelement = $("<div></div>");
    labelelement.text("Label: " + item.label);
    $("#selectionlog").children().remove();
    $("#selectionlog").append(labelelement);
    $("#selectionlog").append(valueelement);
    }
    }
    });
    });
    </script>
    </head>
    <body class='default'>
    <div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: left;">
    <div id="jqxdropdownlist"></div>
    <div id="selectionlog"></div>
    </div>
    </body>
    </html>

    Hope this helps.

    Best Regards,
    Peter Stoev

    jQWidgets Team
    http://www.jqwidgets.com/

    Binding DropDownList to jsonp #21666

    edwardw
    Member

    I think I have it working. Thank you Peter

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.