2016-05-30 3 views
0

Существует this пример:Как получить подстроку в zk?

<grid width="100%"> 
    <rows> 
     <row>onChanging textbox: <textbox id="t1" onChanging="copy.value = event.value"/></row> 
     <row>Instant copy: <textbox id="copy" readonly="true"/></row> 
    </rows> 
</grid> 

Могу ли я каким-то образом скопировать только подстроку event.value, скажем, первые 4 символа? Я пытался что-то вроде onChanging = "copy.value = $ (подстрока (event.value, 0, 4)), но синтаксис неверен.

Спасибо за помощь и большие пальцы вниз оценили.

ответ

1

Это простая задача, вам просто нужно сделать что-то вроде этого:

<grid width="100%"> 
    <rows> 
     <row>onChanging textbox: <textbox id="t1" onChange='copy.setValue(self.getValue().substring(0,3))' instant="true"/></row> 
     <row>instant copy: <textbox id="copy" readonly="true"/></row> 
    </rows> 
</grid> 

Однако, вы должны быть осторожны, потому что, если вы пытаетесь сделать подстроку, когда значение в первом текстовом поле меньше, что длина подстроки, которую вы пытаетесь получить, то вы получите сообщение об ошибке:

String a1 = "ho"; 
String a2 = a1.substring(0,3) //Here you will have an error... 

Так что я рекомендую вам сделать проверку до и затем сделать подстроку ... как это:

<grid width="100%"> 
    <rows> 
     <row>onChanging textbox: <textbox id="t1" onChange='copy.setValue(self.getValue().length() >= 3? self.getValue().substring(0,3):"")' instant="true"/></row> 
     <row>instant copy: <textbox id="copy" readonly="true"/></row> 
    </rows> 
</grid> 

Убедитесь, что в проверке self.getValue().length() >= 3 число 3 тот же онемели э писем я хочу получить в подстроки self.getValue().substring(0,3)

Я сделал пример для вас: http://zkfiddle.org/sample/3afnseb/2-onChange-copy-textbox-example

Смежные вопросы