将搜索选项与 dataURL 一起使用时,初始筛选器值未正确设置



我认为这是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'};

数据网址返回的位置

<option value='Red'>Red</option><option value='Green'>Green</option><option value='Blue'>Blue</option></select>
颜色在组合框中显示正常,默认值为"红色",

但除非用户通过选择"绿色"或"蓝色"(然后可能返回并选择"红色")来更改组合框过滤器,否则筛选器未正确初始化。如果用户尝试在不先更改组合框值的情况下进行筛选,则找不到匹配项。初次使用筛选器对话框和重置筛选器对话框后会出现此问题,因此用户非常困惑。

有谁知道解决此问题/修复程序?

一看,您返回的数据网址没有

<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>"; 

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

style='font-style:斜体;颜色:灰色;宽度:100px' data-native-menu='false'

相关内容

  • 没有找到相关文章

最新更新