pl-matching元件¶
给定一个语句列表,从下拉列表中为每个条目选择一个匹配选项。
样品元素¶

question.html
<pl-matching answers-name="string_value">
<pl-statement match="Washington, D.C.">United States</pl-statement>
<pl-statement match="Mexico City">Mexico</pl-statement>
<pl-statement match="Paris">France</pl-statement>
<pl-option>New York City</pl-option>
</pl-matching>
定制¶
| 属性 | 类型 | 默认 | 描述 |
|---|---|---|---|
allow-blank |
布尔 | 假 | 是否允许空白提交。如果将此设置为 true,则选择空白条目的语句将被标记为不正确而不是无效。 |
answers-name |
字符串 | — | 用于存储数据的变量名称。请注意,该属性在问题中必须是唯一的,即该属性的值不应在问题中重复。 |
blank |
布尔 | 真实 | 添加空白下拉条目作为每个下拉列表中的默认选择的选项。 |
counter-type |
"decimal"、"lower-alpha"、"upper-alpha" 或 "full-text" |
"lower-alpha" |
枚举选项时使用的计数器类型。如果设置为 "full-text",选项列将被隐藏,并且每个选项的文本将在语句的下拉列表中使用,而不是计数器。 |
fixed-options-order |
布尔 | 假 | 是否按固定顺序显示选项;否则它们就会被洗牌。有关选项订购的更多信息,请参阅下面的 pl-option 详细信息。 |
fixed-order |
布尔 | 假 | 是否按固定顺序显示报表;否则它们就会被洗牌。 |
hide-score-badge |
布尔 | 假 | 是否隐藏每个评分答案选项旁边的正确/不正确分数徽章。 |
none-of-the-above |
布尔 | 假 | 是否在选项末尾添加“以上都不是”。 |
number-options |
整数 | 查看描述 | 要显示的选项数量。默认为所有选项。 none-of-the-above 选项不计入此数字。 |
number-statements |
整数 | 查看描述 | 要显示的语句数。默认为所有语句。 |
options-placement |
"right" 或 "bottom" |
"right" |
选项相对于陈述的放置,以使其在视觉上具有凝聚力。在处理长语句或选项时特别有用。 |
partial-credit |
布尔 | 真实 | 是否为每个正确匹配的语句授予按比例的部分学分。如果为 false,则仅当每条语句都正确匹配时,该元素才会授予满分。 |
weight |
整数 | 1 | 计算元素的加权平均分数时使用的权重。 |
在 pl-matching 元素内部,一系列 pl-statement 和 pl-option 元素分别指定学生必须回答的问题以及可以匹配的选项。语句显示在左栏中,选项显示在右栏中。
总共 number-statements 的报表将被随机选择并显示给学生。相应的匹配选项将会被聚集;如果 number-options 大于所选语句使用的选项数量,则将从剩余未使用的选项中选择随机干扰项。如果所选语句需要的选项多于 number-options,则 none-of-the-above 将自动设置为 true。
pl-statement 的内容可以是任何 HTML 元素,包括其他 ZJUI-Learn 元素。必须使用以下属性指定 pl-statement:
| 属性 | 类型 | 默认 | 描述 |
|---|---|---|---|
match |
字符串 | — | 将该选项标识为该 pl-statement 的正确响应。如果 match 对应于任何 pl-option 元素的 name,则该语句将链接到该 pl-option,否则将根据此 match 值隐式创建一个新选项。 |
pl-option 的内容可以是任何 HTML 元素,包括其他 ZJUI-Learn 元素。 pl-option元件可选;默认情况下,选项是根据每个 pl-statement 的 match 属性创建的。可以添加其他 pl-option 元素作为干扰项,或呈现格式化的 HTML/PrairieLearn 元素而不是纯文本。
使用 fixed-options-order 功能时,选项按以下顺序显示:
- 任何显式定义的
pl-option元素都会按照声明的顺序首先显示。 - 接下来将按声明顺序显示由
pl-statementmatch属性定义的任何隐式定义的选项。
Warning
虽然可以使用每个 pl-statement 的 match 属性中的隐式选项而不定义任何 pl-option 元素,但建议在以下情况下显式定义 pl-option 元素:
- 定义不是任何陈述的正确答案的干扰选项(始终不正确的选项,例如上例中的“纽约市”)。
- 当选项文本长于几个单词或需要格式化(例如数学表达式、代码、图像等)时。在这种情况下,
pl-option名称用于标识正确答案,而pl-option元素的内容用于显示选项文本。在这种情况下,不建议使用counter-type="full-text"。 - 使用
fixed-options-order="true"时要确保选项的顺序完全按照预期。 - 当语句和选项在
server.py中动态生成时,保证正确的选项始终可用。
显式选项可以定义为以下示例。请注意,name 属性用于将该选项链接到语句的 match 属性。
<pl-matching answers-name="string_value">
<pl-statement match="golden">$\Phi$</pl-statement>
<pl-statement match="e">$e$</pl-statement>
<pl-statement match="i">$i$</pl-statement>
<pl-option name="golden">$\frac{1+\sqrt{5}}{2}$</pl-option>
<pl-option name="e">$\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^{n}$</pl-option>
<pl-option name="i">$\sqrt{-1}$</pl-option>
</pl-matching>
必须使用以下属性指定 pl-option:
| 属性 | 类型 | 默认 | 描述 |
|---|---|---|---|
name |
字符串 | 查看描述 | 用于将此选项匹配为对 pl-statement 的正确响应的密钥。默认为 pl-option 的内部 HTML。 |
示例实现¶
- [元素/匹配]