jQuery jqGrid edittrules problem - stille verdiendring på MAXVALUE sjekk i stedet for feil popup

stemmer
1

Firefox 37.0.1 på Windows 7 Pro. jqGrid 4.4.1, celle redigeringsmodus. To redigerbare cellene oppfører seg forskjellig ved innsending, og jeg kan ikke finne ut hvorfor. column1element har maxValuegått som {{maximum_discount_value}}, og når jeg går over grensen det gir en pop-up med feilbeskrivelse nevne maks tillatt verdi på riktig måte. column2element mas maxValuepeker til en funksjon tilbake maxValue, og når jeg går over grensen det stille endrer verdien i tabellen til lov maxValueom et sekund etter at jeg traff angi stedet for å gi meg den samme pop-up som jeg forventer. Hva gjør column2man oppfører seg annerledes og hvordan du gjør det for å gi meg en pop-up? Takk.

$(#{{ grid_id }}).jqGrid({
        '{% trans JQGRID_COLUMN1 %}',
        '{% trans JQGRID_COLUMN2 %}',
    colModel:[
        {name : column1, index : some_index1,
            width : 25,
            sortable : false,
            classes : editable,
            editable : true,
            edittype : custom,
            editrules : {
                number : true,
                minValue : 0,
                maxValue : {{ maximum_discount_value }}
            },
            editoptions : {
                maxlength : 5,
                size : 5,
                custom_element: function_for_element,
                custom_value: function_for_value
            }
        {name : column2, index : some_index2,
            width : 25,
            sortable : false,
            classes : editable,
            editable : true,
            edittype : custom,
            editrules : {
                number : true,
                minValue : 0,
                maxValue : function_for_maximum_discount_value
            },
            editoptions : {
                maxlength : 5,
                size : 5,
                custom_element: function_for_element,
                custom_value: function_for_value
            }
            ]

function function_for_maximum_discount_value(elem) {
    maximum_discount_value=  $(elem).attr(maximum_discount_value);
    return maximum_discount_value;
}
Publisert på 13/04/2015 klokken 07:26
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Koden som du bruker for column2har absolutt feil verdi for editrules. Det virker som du blander skikken redigering kontroll med valideringsregler.

Alternativet under editrulesvil bli brukt etter redigering arkivert leses på slutten av redigering. Hvis du bruker editrules: { number : true }så kan du inkludere flere egenskaper minValueog maxValueinnsiden av editrules. Verdiene av minValueog maxValuemå være tall. For å tilbakeringing funksjoner er tillatt. Selv om du ville bruke tilpassede valideringsregel kan du definere editrules: {custom: true, custom_func: function mypricecheck (value, colname) {...}}, men selv i tilfelle det valueer strengen lest fra inngangs arkivert. Ingen tilgang til originale inntastingsfelt (som $(elem).attr("maximum_discount_value")i koden) er mulig her.

Du kan implementere noen andre scenarier, men koden vil avhenge av redigeringsmodusen som du bruker (linjeredigering, celle redigering eller form redigering).

Svarte 13/04/2015 kl. 08:51
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more