正确的结果仅在重置后显示,但它应该适用于退格按钮

时间:2016-12-30 11:11:01

标签: javascript html

结果在我们的页面中显示如下。

enter image description here

我根据在"搜索框"中输入值搜索结果。正确的结果显示一次,我们在搜索框中输入值。

这里不"结果"将从6开始,因此没有显示值。

enter image description here

一旦我们从搜索框中移除了值[使用键盘上的退格键],就会显示"原始结果"如图像1

但它仍然显示输入值[6]的结果,就像图像2一样。

enter image description here

只有当我们点击"重置" 按钮时,它才会显示正确的结果。但它应该只适用于"退格" 按钮。

FORM

<form>
    Search:

    <select id="f_value2">
        <option value="entity_id">Order Id</option>
    </select>


    <input type="text" onkeyup="doFilter()" value="" id="f_value1" >
    <input type="reset" value="Reset" onClick="window.location.reload()">
</form>

SCRIPT

function doFilter() {
    var filterInfo=[
        {
            fieldName : $('select[id=f_value2]').val(),
            logic : "startWith",
            value : Sigma.Util.getValue("f_value1")
        },
        {
            fieldName : Sigma.Util.getValue("f_fieldName12"),
            logic : "greatEqual",
            value : Sigma.Util.getValue("f_value12")
        }
    ]
    var grid=Sigma.$grid("myGrid");
    var rowNOs=grid.applyFilter(filterInfo);
}


var colsOption = [

    {id: 'entity_id' , header: "Order Id" , width :"70"},

];

3 个答案:

答案 0 :(得分:0)

检查字段值是否为空,然后重置表单...如下

<form id="form-filter">
Search:

<select id="f_value2">
    <option value="entity_id">Order Id</option>
</select>


<input type="text" onblur="doFilter()" value="" id="f_value1" >
<input type="reset" value="Reset" onClick="window.location.reload()">
</form>

<script type="text/javascript">
    function doFilter() {
    var filterInfo=[
        {
            fieldName : $('select[id=f_value2]').val(),
            logic : "startWith",
            value : Sigma.Util.getValue("f_value1")
        },
        {
            fieldName : Sigma.Util.getValue("f_fieldName12"),
            logic : "greatEqual",
            value : Sigma.Util.getValue("f_value12")
        }
    ]
    var grid=Sigma.$grid("myGrid");
    var rowNOs=grid.applyFilter(filterInfo);

    var filter = document.getElementById('f_value1').value;
    if (filter == "") {
       var grid = Sigma.$grid("grid_demo_id");
       grid.refresh(rowData);
       Sigma.Grid.render(grid);
    }
}

</script>

答案 1 :(得分:0)

也许你可以这样做?

检查自己函数中每个keyup的值?

infixr 9

答案 2 :(得分:0)

您需要检查f_value2字段的值,如果其为空则应用空过滤器。 还必须对f_fieldName12进行类似的检查。

function doFilter() {
    var filterInfo=[];
    var orderIdVal= $('select[id=f_value2]').val();
    if(!( orderIdVal===undefined || orderIdVal ==="")){
        filterInfo.push({
            fieldName : "entity_id",
                logic : "startWith",
                value : Sigma.Util.getValue("f_value1")
        });


    }
    var grid=Sigma.$grid("myGrid");
    grid.applyFilter(filterInfo);
}