javascript - querySelectorAll 没有选择合适的元素

标签 javascript

我有一个 ID 很长的下拉菜单,但其中一部分是 _Country。我有一个带有很长 ID 的文本框,但其中一部分是 _State。

我试图从下拉国家/地区中获取值,并在有人在国家/地区下拉列表中选择一个选项时将其放入文本框状态。

这是我现在拥有的 JavaScript。在我尝试使用通配符之前它工作正常,但现在它不起作用。

<script type="text/javascript">
document.querySelectorAll('[id*="_Country"]').onchange = replicate;
function replicate() {
    var tb1 = document.querySelectorAll('[id*="_Country"]');
    var tb2 = document.querySelectorAll('[id*="_State"]');
    tb2.value = tb1.value;
}
</script>

最佳答案

querySelectorAll()返回 NodeList .使用 querySelector()只得到一个节点。

这是一个示例 ( fiddle ):

<select id="test_Country">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<select id="test_State">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<script>
    (function() {
        var country = document.querySelector('[id*="_Country"]');
        var state = document.querySelector('[id*="_State"]');
        country.addEventListener("change", function(e) {
            state.value = country.value;
        });
    })();
</script>

关于javascript - querySelectorAll 没有选择合适的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20432986/

相关文章:

javascript - node.js 使用 LIMIT 计算 MySQL 查询

javascript - 引用错误 : TextEncoder is not defined

javascript - 在新选项卡中打开链接时不会发生表单提交

javascript - 使用 ng-repeat 比较两个数组

javascript - Bootstrap 图像弹出窗口

javascript - 我的代码在不应该显示的地方显示了对 Angular 线

javascript - 将 getItem 与主键和排序键一起使用

Javascript函数指针指向对象函数错误抛出错误: TypeError: can't convert undefined to object

javascript - Socket.IO 接受不存在的 src 标签吗?

javascript - 在 ReactJS 中使用 If/Else 编写圆的半径