You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据choice_1的选择动态控制choice_2的选项显示?

解决动态调整input选项的问题

你遇到的问题根源在于这类脚本(比如TradingView Pine Script)中,input系列函数是在脚本初始化阶段执行的,运行时的条件判断无法修改已经初始化的input控件选项。你之前的写法里,脚本加载时会根据初始的choice_1默认值("A")创建对应的choice_2 input,之后切换choice_1到"B"时,不会重新生成choice_2的选项,因此无法生效。

可行的解决办法是通过动态生成choice_2的选项数组和默认值来实现需求,代码如下:

choice_1 = input.string(title="Choice 1", defval="A", options=["A", "B", "C"])
// 根据choice_1的值动态生成choice_2的选项列表
choice_2_options = choice_1 == "B" ? ["E", "F"] : ["D", "E", "F"]
// 同步调整默认值,避免默认值不在选项范围内
choice_2_defval = choice_1 == "B" ? "E" : "D"
choice_2 = input.string(title="Choice 2", defval=choice_2_defval, options=choice_2_options)

说明:这种写法会在脚本初始化阶段就根据choice_1的当前值计算出choice_2的选项和默认值,当你在界面上切换choice_1的选项时,脚本会重新初始化,choice_2的选项也会随之自动更新。需要注意的是,当choice_1切换到"B"时,原默认值"D"不在新选项列表中,因此必须同步修改默认值为选项中的有效值(比如示例中的"E"),否则会出现参数错误。

内容的提问来源于stack exchange,提问作者greg777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:55:20