【问题标题】:jqgrid - initial filter value not properly set when using searchoptions with dataUrljqgrid - 使用带有 dataUrl 的 searchoptions 时未正确设置初始过滤器值
【发布时间】:2012-08-15 23:10:12
【问题描述】:

我认为这是 jqGrid 中的一个错误(我使用的是 4.4.0 版)。在我的 colModel 中,这很好用:

stype:'select', searchoptions: {sopt: ['eq','ne'], value:"Red:Red;Green:Green;Blue:Blue"}

但事实并非如此:

stype:'select', searchoptions: {sopt: ['eq','ne'], dataUrl:'rest/selectcolors'};

dataUrl 的返回位置

<option value='Red'>Red</option><option value='Green'>Green</option><option value='Blue'>Blue</option></select>

颜色在组合框中显示正常,默认值为“红色”,但过滤器未正确初始化,除非用户通过选择“绿色”或“蓝色”更改组合框过滤器(然后可能返回并选择'红色的')。如果用户尝试在不首先更改组合框值的情况下进行过滤,则找不到匹配项。这个问题在初次使用过滤器对话框时和重置过滤器对话框后都会出现,因此对用户来说非常混乱。

有人知道解决方法/解决方法吗?

【问题讨论】:

  • 进一步测试表明,当'select'搜索是搜索对话框中的第一个搜索选项时会出现问题;即当用户重置搜索对话框时,会显示颜色搜索选项。因此,重置后,搜索对话框显示“颜色等于红色”,但单击查找不会返回匹配结果,并且 $("#list").jqGrid('getGridParam','postData').filters 的值为 {"groupOp" :"AND","rules":[{"field":"color","op":"eq","data":""}]} (注意 data 属性是空字符串而不是 "Red" )。

标签: search jqgrid data-url


【解决方案1】:

乍一看,您返回的 dataurl 没有

<select>

这可能是个错误

不过,我也有这个问题! 但我没有通过在网上搜索找到任何解决方案。 我通过一个技巧暂时解决了这个问题 我添加了一个值 = -1 和文本“请选择”的选项 然后在更改事件中我删除此选项

searchoptions: {sopt: ['eq', 'ne'], dataUrl:'yoururl',              
                dataEvents:[{ type: 'change',
                        fn: function(e) 
                            {                    
                                $('td.data').find('option[value=-1]').remove();                                 
                            }                                
                }]},

但问题仍然存在。如果用户不更改组合框并选择“请选择”选项,他将看到一个错误。

我在我的 php url 中使用以下代码

echo "<select>";    
echo "<option value='-1'>please select</option>";     
while($row = pg_fetch_assoc($res)) 
{                        
    echo "<option value='".$row['cid']."' >".$row['cname']."</option>";                    
}    
echo"</select>"; 

您可以使用这样的样式并在更改选择元素后将其删除

style='字体样式:斜体;颜色:灰色; width:100px' data-native-menu='false'

【讨论】:

    猜你喜欢
    • 2020-01-19
    • 2018-11-18
    • 2021-02-01
    • 2011-01-27
    • 2021-09-29
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多