Axure教程:復(fù)選框選中時(shí),文字如何添加到文本框?

6 評(píng)論 13238 瀏覽 40 收藏 12 分鐘
🔗 B端产品经理需要进行售前演示、方案定制、合同签订等,而C端产品经理需要进行活动策划、内容运营、用户激励等

本文是作者在閱讀了相關(guān)文章后,對(duì)于復(fù)選框選中時(shí)可以將選項(xiàng)添加到文本框中的一些理解,來(lái)與大家分享,一起來(lái)看看~

昨天閱讀了小樓老師一篇文章,關(guān)于復(fù)選框選中時(shí)可以將選項(xiàng)添加到文本框中,覺(jué)得很實(shí)用,所以想用自己的理解分享出來(lái),直接上圖說(shuō)明。

沒(méi)有選中復(fù)選框時(shí),文本框提示“未選擇興趣。。?!?/strong>

選中復(fù)選框時(shí),文本框中顯示復(fù)選框中的內(nèi)容,并用“,”隔開(kāi)。

取消復(fù)選框時(shí),文本框中相應(yīng)的內(nèi)容取消。

是不是感覺(jué)還不錯(cuò),見(jiàn)過(guò)很多這方面的例子?

接下來(lái)我給大家詳細(xì)講解一下,如何實(shí)現(xiàn)。

一、分析

需要實(shí)現(xiàn)的效果如上所述:

  1. 沒(méi)有選中復(fù)選框時(shí),文本框提示“未選擇興趣。。?!保?/li>
  2. 選中復(fù)選框時(shí),文本框中顯示復(fù)選框中的內(nèi)容,并用“,”隔開(kāi);
  3. 取消復(fù)選框時(shí),文本框中相應(yīng)的內(nèi)容取消。

二、元件準(zhǔn)備

從元件庫(kù)中拖一個(gè)復(fù)選框,命名“checkbox”,一個(gè)多行文本框,命名“hobbyingput”接下來(lái)我們開(kāi)始實(shí)現(xiàn)逐步實(shí)現(xiàn)上述功能。

三、交互

1. 沒(méi)有選中復(fù)選框時(shí),文本框提示“未選擇興趣。。?!?/h3>

這個(gè)很容易實(shí)現(xiàn)我們只需給文本框添加提示文字“未選擇興趣。。。”,并影藏邊框。

2. “選中復(fù)選框時(shí),文本框中顯示復(fù)選框中的內(nèi)容,并用“,”隔開(kāi)”

我們給復(fù)選框“選中時(shí)”添加用例,設(shè)置文本給文本框“bobbyinput”,用“[[Target.text]],[[This.text]]”實(shí)現(xiàn),“Target.text”為文本框現(xiàn)有的文本,“This.text”為復(fù)選框中文本,也就是把復(fù)選框中的內(nèi)容放到文本框中的內(nèi)容后面,中間用“,”隔開(kāi)。

瀏覽器預(yù)覽時(shí):

這樣的話(huà)“未選擇興趣。。?!币擦粼诹宋谋究蛑?,這和我們的意愿違背,那么如何取消前面的“未選擇興趣。。?!??

我們?cè)谖谋究颉拔谋靖淖儠r(shí)”設(shè)置文本與“bobbyinput”用[[This.text.replace(‘未選擇興趣。。。’,”)]]實(shí)現(xiàn),我們把當(dāng)前文本框中的文本進(jìn)行替換,公式中的函數(shù)replace能夠?qū)ξ谋緝?nèi)容進(jìn)行替換,第一個(gè)參數(shù)是被替換的內(nèi)容,第二個(gè)參數(shù)是替換后的內(nèi)容。

瀏覽器預(yù)覽:

我們成功的把文本框中的“提示文字”取消了,但是又有了一個(gè)新的問(wèn)題,“,”出現(xiàn)在了“bobbyinput”文本框的前面,這明顯也不是我們想要的,這個(gè)問(wèn)題我們先放下,后面再集中解決,我們先解決“復(fù)選框取消時(shí),文本框中相應(yīng)的內(nèi)容取消”。

3. “取消復(fù)選框時(shí),文本框中相應(yīng)的內(nèi)容取消”

我們給復(fù)選框“選中取消時(shí)”添加用例,設(shè)置文本給“hobbyinput”用“[[Target.text.replace(This.text,”)]]“實(shí)現(xiàn),也就是當(dāng)復(fù)選框選中取消時(shí),替換目標(biāo)文本(多行文本框)中的內(nèi)容,replace()函數(shù)前面介紹過(guò)了。

這里我剛開(kāi)始給“this.text”也添了“ ” ”,但是瀏覽器預(yù)覽發(fā)現(xiàn)并不能達(dá)到效果,我理解應(yīng)該是“變量或者函數(shù)”直接使用,不用添加‘’,但是使用文本,或者符號(hào)需要添加‘’。

瀏覽器預(yù)覽:

咦!好像實(shí)現(xiàn)了哦。但是又有一個(gè)新問(wèn)題,復(fù)選框文本是不見(jiàn)了,但是“,”仍然存在,而且每選中一次,取消一次,就會(huì)多一個(gè)“,”。

好了,現(xiàn)在做到這里我們需要將復(fù)選框多復(fù)制幾個(gè),再到瀏覽器預(yù)覽,發(fā)現(xiàn)了幾個(gè)問(wèn)題,也就是我們現(xiàn)在所遇到的問(wèn)題。

(1)中間有兩個(gè)或者更多?“,”存在

(2)最前面有一個(gè)“,”存在

(3)最后面有一個(gè)“,”存在

接下來(lái)我們一 一分析,重點(diǎn)也來(lái)了。

我們先解決“中間有兩個(gè)或者更多?“,”存在”,因?yàn)槌霈F(xiàn)這個(gè)問(wèn)題的根本原因就是我們向文本框添加了內(nèi)容,導(dǎo)致它的文本發(fā)生了改變。所以,我們?cè)谇懊嫖谋究颉拔谋靖淖儠r(shí)”添加例“case2”添加條件。

如果文本框中包含“,,”替換為“,”。

瀏覽器預(yù)覽,問(wèn)題解決。

接下來(lái)解決“最前面有一個(gè)“,”存在”同樣在文本框“文本改變時(shí)”添加用例“case3”添加條件。獲取元件文字的第一位,我們通過(guò)公式“[[This.text.charAt(0)]]”獲取。

函數(shù)charAt能夠獲取指定位置的字符,字符串索引位置從0開(kāi)始,也就是說(shuō)第一位的位置就是0。

“[[This.text.substr(1)]]”函數(shù)substr能夠?qū)ξ谋具M(jìn)行截取,只輸入一個(gè)參數(shù)時(shí),表示從指定位置截取到末尾。字符串索引位置從0開(kāi)始,所以這里參數(shù)為1,就是從第二位截取到末尾。

瀏覽器預(yù)覽:

也解決了,終于到了最后一個(gè)問(wèn)題。

最后我們解決“最后面有一個(gè)“,”存在”,同樣的方法,在文本框“文本改變時(shí)”添加用例“case4”添加條件。獲取元件文字的最末位,我們通過(guò)公式“[[This.text.slice(-1)]]”獲取。

函數(shù)slice也是文本截取函數(shù),參數(shù)為負(fù)數(shù)時(shí)表示從后向前讀取位置,-1就是倒數(shù)第一位,只輸入一個(gè)參數(shù)時(shí),表示從指定位置截取到末尾。

這里我試著用replace()函數(shù)方法替換,因?yàn)槲谋究蜃詈蟛话埃彼詴?huì)替換掉整個(gè)文本框中的“,”為空白,就沒(méi)有“,”隔開(kāi)效果了。

所以還是要用小樓老師的方法:[[This.text.substr(0,This.text.length-1)]]。

函數(shù)substr,輸入兩個(gè)參數(shù)時(shí),第一個(gè)參數(shù)為截取的起始位置,第二個(gè)參數(shù)為截取的數(shù)量。

系統(tǒng)變量length能夠獲取文本的長(zhǎng)度,也就是字符數(shù)量,所以第二個(gè)參數(shù)“This.text.length-1”表示獲取文本當(dāng)前的字符數(shù)量然后進(jìn)行減1的計(jì)算。

通過(guò)這樣的操作,我們就能舍棄掉文本的最后一位。

就是從最面開(kāi)始截取,如果文本最后存在“,”那么截取位置就是從0到文本倒數(shù)第二位。

瀏覽器預(yù)覽:

到這里,我們?nèi)繉?shí)現(xiàn)了復(fù)選框選中時(shí)文本內(nèi)容添加到文本框,花了兩個(gè)小時(shí)寫(xiě)了這篇文章,雖然花了不少時(shí)間,但是寫(xiě)出了之后還是挺滿(mǎn)足的,這樣做主要是:

  1. 自己再次動(dòng)手,熟練了一遍;
  2. 分享給大家,我們一起學(xué)習(xí),一起進(jìn)步。

以后,我還會(huì)寫(xiě)關(guān)于Axure的小文章,歡迎大家交流學(xué)習(xí)

原型預(yù)覽:https://z7ox7s.axshare.com

源文件下載:https://pan.baidu.com/s/1qja_hBVRezpjPowL8MPuKw 密碼:ojru

本文參考文章:http://www.iaxure.com/5955.html

 

本文由 @就這樣吧! 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 不在一個(gè)界面怎么才能做到復(fù)選框選中出現(xiàn)文字

    來(lái)自浙江 回復(fù)
  2. nice

    來(lái)自海南 回復(fù)
  3. 謝謝 分享 整的很棒呢

    來(lái)自北京 回復(fù)
  4. 太6了,感謝分享 ??

    來(lái)自北京 回復(fù)
  5. 點(diǎn)擊取消選中,沒(méi)有辦法取消 。沒(méi)有找到replace這個(gè)函數(shù)

    來(lái)自北京 回復(fù)
  6. 我試了怎么不行啊,在線(xiàn)等解答。

    來(lái)自北京 回復(fù)
专题
11915人已学习12篇文章
增长这个话题,是互联网产品在成长过程中绕不过的问题。本专题的文章分享了产品增长指南。
专题
11986人已学习12篇文章
针对新零售行业的发展现状,面向新零售企业的SaaS系统,可以如何进行系统架构和规划?本专题的文章分享了新零售saas架构指南。
专题
14829人已学习15篇文章
智能硬件产品经理需要做什么工作内容呢?与互联网产品经理有什么区别呢?本专题为刚入行的智能硬件产品经理分享了入门指南。
专题
15202人已学习14篇文章
RBAC是一套成熟的权限模型,在传统权限模型中,我们直接把权限赋予用户。而在RBAC中,首先把权限赋予角色,再把角色赋予用户。本专题的文章分享了基于RBAC模型的权限设计。
专题
13046人已学习13篇文章
对数据进行监控,分析异常数据,是数据分析常见的工作内容。本专题的文章分享了如何做好数据异常分析。
专题
32234人已学习19篇文章
一个合格的购物车是怎么设计出来的?