根据所选选项设置值以渲染网格

时间:2018-10-08 11:12:21

标签: javascript jquery arrays html5

我试图根据选择框中的所选选项设置值以渲染网格。到目前为止,我仍然可以散发出香味。我不太确定自己在做什么,如果“正确”,但没有用...(所以我想不是)

search: function () {
    console.time("products.renderResult()");
    var instance = this, 
    pr = "&VISIBLETOALL=1",
    al = this.getValue("AllianceUNID"), 
    pa = this.getValue("PartnerUNID"), 
    qryStr = "&ALUNID=" + al + "&PAUNID=" + pa, 
    //urlVTA = session.getPath("main") + "agtGetProducts?OpenAgent" + pr + qryStr,
    url = session.getPath("main") + "agtGetProducts?OpenAgent";
    $('select[name=productSelect]').on('change', function () {
        var value = $('select[name=productSelect]').val();
        if (value == 'VISIBLE_TO_ALL') {
            return url + pr + qryStr;
        } else {
            return url + qryStr;
        }
    });

    $.getJSON(url).done(function (products) {
        if (products.errormessage) {.....

这是我的搜索功能,应根据if value = VISIBLE_TO_ALL返回url +变量(应将值设置为url + pr + qryStr),否则将仅显示url + qryStr

所以我的问题在这里

$('select[name=productSelect]').on('change', function () {
    var value = $('select[name=productSelect]').val();
    if (value == 'VISIBLE_TO_ALL') {
        return url + pr + qryStr;
    } else {
        return url + qryStr;
    }
});

我的html

<select name="productSelect">
    <option value="">-
    <optgroup label="Products">
        <option value="ALL">All products
        <option value="VISIBLE_TO_ALL">Products visible to all
    </optgroup>
    <optgroup label="Alliances"></optgroup>
    <optgroup label="Partners"></optgroup>
</select>

这有可能吗?还是应该设置变量?

1 个答案:

答案 0 :(得分:0)

鉴于您的回答,当您打印出这些值时,您将获得正确的回答,这意味着该功能运行正常,并且没有任何问题。代替返回值(这对您没有存储或使用返回的值无济于事),而是应根据需要从此函数本身直接使用这些值。

由于您想使用这些值来填充网格,因此可以使用jQuery从此函数本身进行操作,并且只要从选择框中进行新选择,就应该更新网格以反映适当的值