有关Botframework Choiceset / Dropdown的问题。
我需要第二个Choiceset值才能在选择第一个Choiceset值时进行更改。有可能在botframework中做到吗?类似于第一个Choiceset值的eventchange。
我知道如何创建ChoiceSet,但无法弄清楚如何检测第一个Choiceset选择的事件。
谢谢。
答案 0 :(得分:1)
我需要第二个Choiceset值才能在选择第一个Choiceset值时进行更改。有可能在botframework中做到吗?类似于第一个Choiceset值的eventchange。
第一种方法:您可以尝试在自适应卡中显示第一个Input.ChoiceSet
,在用户选择一个选项并将选择内容发送回您的机器人后,您可以动态填充该卡的Choices
属性第二个Input.ChoiceSet
,并在另一张自适应卡片中显示。
我正在使用WebChat频道。
第二种方法:正如我在评论中提到的那样,您将Webchat嵌入网站中,您可以尝试实现JavaScript客户端上的要求。
<script>
var botConnection = new BotChat.DirectLine({ secret: '{directline_secret_here}' });
var userinfo = { id: '{user_id_here}'};
BotChat.App({
botConnection: botConnection,
user: userinfo,
bot: { id: '{bot_id_here}' },
resize: 'detect'
}, document.getElementById("bot"));
botConnection.activity$
.filter(activity => activity.type === "message")
.subscribe(activity => BindOnChangeEventToSelect(activity));
function BindOnChangeEventToSelect(activity) {
//Attach a handler to 'change' event of <select> element
$("select.ac-multichoiceInput:nth-of-type(2n+1)").on("change", function () {
$(this).siblings("select").val($(this).val());
});
}
</script>
测试结果: