为什么材料组件中的第二个输入文本字段不起作用?

问题描述

我在我的网站中使用了材料组件输入。我创建了两个相同的输入。这是我所有的代码

<link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css">
<body>
    <div class="information">
        <label class="mdc-text-field mdc-text-field--outlined">
            <span class="mdc-notched-outline">
                <span class="mdc-notched-outline__leading"></span>
                <span class="mdc-notched-outline__notch">
                    <span class="mdc-floating-label" id="first">First</span>
                </span>
                <span class="mdc-notched-outline__trailing"></span>
            </span>
            <input type="text" class="mdc-text-field__input" aria-labelledby="first">
        </label>
    </div>
    <div>
        <label class="mdc-text-field mdc-text-field--outlined">
            <span class="mdc-notched-outline">
                <span class="mdc-notched-outline__leading"></span>
                <span class="mdc-notched-outline__notch">
                    <span class="mdc-floating-label" id="second">Second</span>
                </span>
                <span class="mdc-notched-outline__trailing"></span>
            </span>
            <input type="text" class="mdc-text-field__input" aria-labelledby="second">
        </label>
    </div>

    <script src="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.js"></script>
    <script>
        mdc.textField.MDCTextField.attachTo(document.querySelector('.mdc-text-field'));
    </script>
</body>

但只是我的第一个输入正常工作(当我点击时标签移动到顶部)。第二个似乎没有这样的效果

my result

什么问题?谢谢。

解决方法

似乎 mdc.textField.MDCTextField.attachTo(document.querySelector('.mdc-text-field')); 只适用于一个 elament。

所以我修改了代码以制作两个输入来应用脚本,如下所示

<link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css">
<body>
    <div class="information">
        <label class="mdc-text-field mdc-test1 mdc-text-field--outlined">
            <span class="mdc-notched-outline">
                <span class="mdc-notched-outline__leading"></span>
                <span class="mdc-notched-outline__notch">
                    <span class="mdc-floating-label" id="first">First</span>
                </span>
                <span class="mdc-notched-outline__trailing"></span>
            </span>
            <input type="text" class="mdc-text-field__input" aria-labelledby="first">
        </label>
    </div>
    <div>
        <label class="mdc-text-field mdc-test2 mdc-text-field--outlined">
            <span class="mdc-notched-outline">
                <span class="mdc-notched-outline__leading"></span>
                <span class="mdc-notched-outline__notch">
                    <span class="mdc-floating-label" id="second">Second</span>
                </span>
                <span class="mdc-notched-outline__trailing"></span>
            </span>
            <input type="text" class="mdc-text-field__input" aria-labelledby="second">
        </label>
    </div>

    <script src="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.js"></script>
    <script>
        mdc.textField.MDCTextField.attachTo(document.querySelector('.mdc-test1'));
        mdc.textField.MDCTextField.attachTo(document.querySelector('.mdc-test2'));
    </script>
</body>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...