猿问

如何优雅替换括号内部的值?

问题:列表中有如下结构的字符串若干:

1.月末(:日期)2.月初(:日期)……

需求:点击对应的项,如在这里点击 月末(:日期)这一项,那么在相应的input中的值为

月末(:日期)

再次点击,input的值为

月末(月末(:日期))

以此类推。
类似这样的操作逻辑javascript有什么比较好的实现方法吗?


冉冉说
浏览 542回答 1
1回答

动漫人物

不知道是不是这意思?好像没什么复杂的...我理解错了?<input&nbsp;type='text'&nbsp;id='in'/><ul><li&nbsp;onclick='return&nbsp;endClick();'>月末(:日期)</li><li>月初(:日期)</li></ul><script>function&nbsp;endClick(){let&nbsp;v=document.getElementById('in').value;if(v=='')document.getElementById('in').value='月末(:日期)';else &nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('in').value="月末("+&nbsp;v+")"; }</script></p>又看了一遍问题,发现似乎我确实理解错了,但是我觉得这个问题需要从用户的角度去理解这个事情.如果你要替换括号内的内容,当有多个括号的时候,替换哪一级别括号就成为了问题.你还需要知道当时的光标停留在那里,加入组件失去了焦点,还能获得光标位置么?还是要用户选择要替换的部分?不论如何,从逻辑还是复杂度都会增加,反而不如现在这个,直接将当前值作为参数套用所选择的公式来的简单直接.另外,如果说要做前面所说的复杂公式的话,简单的input恐怕就不够了.
随时随地看视频慕课网APP

相关分类

Html5
我要回答