需要建议在 Javascript 中应用 .disabled

2024-03-20

我运行 Woocommerce 网站并希望禁用结帐页面上的特定输入。

Woocommerce 可以按国家/地区设置运输方式。

我将默认国家/地区设置为韩国,并且显示韩国的运输选项。

但是,如果我选择美国,运输方式将看到根据美国的运输选项。

因此,默认情况下不显示美国的运输方式。

仅当访问者选择“美国”作为运送国家/地区时才会显示。

在这里,我想禁用仅在发货国家/地区为美国时显示的输入字段。

我可以使用 CSS 隐藏这个输入字段,甚至删除它。

然而,我想禁用它的原因是邮局由于新冠病毒暂时瘫痪。

我想告知访客,运输方式不仅是快递,还有免费送货,但暂时不可用。

我的网站结构如下。

默认(韩国)

<td data-title="shipping">
    <ul id="shipping_method" class="shipping__list woocommerce-shipping-methods>
        <li class="shipping_list_item">
            <input id="shipping_method_0_free_shipping1">
            <label class="shipping_list_label" for="shipping_method_0_free_shipping1">
        </li>
    </ul>
<td>

如果选择运送国家为美国

<td data-title="shipping">
    <ul id="shipping_method" class="shipping__list woocommerce-shipping-methods>
        <li class="shipping_list_item">
                <input type="radio" id="shipping_method_0_free_shipping3"> <--- want to disable this
                <label class="shipping_list_label" for="shipping_method_0_free_shipping3"> 
        </li>
        <li class="shipping_list_item">
                <input type="radio" id="shipping_method_0_flat_rate2"
                <label class="shipping_list_label" for="shipping_method_0_flat_rate2">
        </li>
    </ul>
</td>

国家/地区选择器

<span class="woocommerce-input-wrapper">
    <select name="billing_country">
        <option value>Select Country</option>
        <option value="US">US</option>
        <option value="KR" selected="selected">Korea</option>
        <option value="CA">Canada</option>
    </select>

我尝试了下面的 JavaScript。

<script>
     const target = document.querySelector('#shipping_method > li:nth-child(1)');
target.disabled = true;
</script>

<script>
     const target = document.querySelector('#shipping_method_0_free_shipping3');
target.disabled = true;
</script>

但这些代码不起作用。

我想得到一些关于我应该检查哪一部分的建议。


Try this(更新答案)

<input id="name" type="text"/>

const myInput = document.getElementById("name")
const inputDisabled = true

if (inputDisabled) {
    myInput.setAttribute("disabled", "disabled");
} else {
    myInput.removeAttribute("disabled");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要建议在 Javascript 中应用 .disabled 的相关文章

  • goJS 下拉菜单删除项目

    我有简单的 python Flask goJS 图形应用程序 如下所示 节点和链接文本的源是从应用程序的后端加载的 我将它们设置为model modelData像这样的部分 var graphDataString JSON parse di
  • ~~(“双波浪线”)在 Javascript 中做什么?

    我今天在查看一个在线游戏物理库时遇到了 运算符 我知道单个 是按位 NOT 这会使 成为 NOT 的 NOT 这会返回相同的值 不是吗 它会删除小数点后的所有内容 因为按位运算符会隐式地将其操作数转换为带符号的 32 位整数 无论操作数是
  • React:如何从 Material-UI TextField 组件获取值

    我有一个小型应用程序 其中包含 Form 组件 SubmitButton 组件和我的父组件 App js 当用户单击提交按钮时 我想获取表单组件上 3 个字段的值并将它们传递给我的 App js 组件 我不确定如何使用触发事件onClick
  • 为什么这个对象的“forEach 不是函数”?

    这可能真的很愚蠢 但我不明白为什么这不起作用 var a cat large a forEach function value key map console log value 未捕获的类型错误 a forEach 不是函数 http j
  • 提交后如何重置表单?

    我有一个简单的表格 假设它需要一个电子邮件地址 提交表单后 消息堆栈会通知用户其地址已成功提交 问题是 提交地址后 带有电子邮件的表单字段仍然包含用户输入的电子邮件地址 我该如何重置该字段 我必须为此使用 JavaScript 吗 谢谢 w
  • 即使 WebPack 构建工作正常,VS Code 显示未找到模块

    我的 VS Code 说它找不到导入 即使我的 WebPack 构建仍然有效 这是进口 import as tf from tensorflow tfjs 以及来自 VS Code 的消息 找不到模块 tensorflow tfjs 您的意
  • Firestore onSnapshot() 方法多次触发

    我有一个带有多个路由和 vuex 的 vue cli 4 应用程序 Firestore 数据库已成功连接 我的应用程序立即反映从 Firestore 控制台应用于数据库的修改 在离开包含与 Firestore 同步 的组件的路线然后返回后
  • Ionic 和 Angular 2 - 拒绝应用“http://localhost:8100/build/main.css”中的样式,因为其 MIME 类型(“text/html”)不受支持

    My Ionic https en wikipedia org wiki Ionic mobile app framework 构建一直运行得很好 直到我想在我的 iPhone 上进行测试 所以我停止了我的服务器 做了一个ionic ser
  • $index 中的 AngularJS 数字

    举例来说 我有以下代码 伪 div index div 结果将是 1 2 3 4 5 6 我怎样才能改变上面的代码以便打印索引 001 002 003 004 005 006 以便索引打印为 3 位数字 您可以使用过滤器轻松完成此操作 首先
  • 使用 document.getElementById().style.height javascript 从 css 获取值

    请提供有关这个谜团的见解 我试图通过以下方式从 div 框中获取高度值 var high document getElementById hintdiv style height alert high 如果该属性包含在 div 标记中 我可
  • 我可以检测焦点来源吗? (Javascript、jQuery)

    快速提问 是否可以检测焦点是来自鼠标单击还是来自焦点事件的选项卡 我想如果没有 我将不得不在同一元素上使用单击句柄来确定源 但我更喜欢通过焦点事件的方式 Thanks Gausie 可能无法 100 工作 但如果没有直接的方法 那么你不能直
  • 如何配置 StrongLoop LoopBack MongoDB 数据源以部署到 Heroku

    我正在使用 LoopBack 版本 1 6 并使用以下数据源配置运行本地 mongoDB 服务器进行开发 mongodb defaultForType mongodb connector loopback connector mongodb
  • 从右到左的语言和编程问题

    我正在创建一个网络文本编辑器 它使用我创建的新语言 如 BBcode 这种标记语言将采用阿拉伯语 但我面临这些问题 在所有 IDE 和编辑器中将英语和阿拉伯语文本混合在同一行中确实很困难 因为会发生奇怪的事情 单词和字符的顺序发生变化 使用
  • 我可以使用 javascript 生成 JSON 文件吗?

    我想在域 example1 com 上创建一个页面 并获取 解析另一个域 example2 com json json 上的 JSON 文件 可以使用 javascript 生成 json 文件 在 example2 com 上 吗 我认为
  • JS 中的 .Jar 文件

    有谁知道如何在 JS 中访问 jar 文件 我已经用 Java 创建了类并作为 jar 文件导入 我想从 JS 文件访问该类 大家好 我感谢你们所有人 我尝试在 Firefox XUL 中使用 JS 列出文件夹中的文件 但我做不到 然后我决
  • 如何判断CKEditor是否已加载?

    如何确定 CKEditor 是否已加载 我查看了API文档 但只能找到loaded事件 我想检查 CKEditor 是否已加载 因为如果我第二次加载它 我的文本区域就会消失 The loaded活动对我不起作用 instanceReady
  • 解析器阻塞与渲染阻塞

    我一直在阅读有关优化网络性能的 Google 开发人员文档 我对那里使用的术语有点困惑 CSS 和 JavaScript 文件都会阻止 DOM 构建 但是 CSS 被称为渲染阻塞 而 JavaScript 被称为解析器阻塞 解析器阻塞 和
  • 使用 puppeteer 部署 firebase 功能时说即使我启用了 --no-sandbox 也找不到 chrome

    我正在尝试将 firebase 函数部署到使用 puppeteer 的 firebase 项目 我让它在本地计算机上运行 但是当它尝试在 firebase 上运行时 我收到此错误 Exception from a finished func
  • gulp-uglify 不会保留文件顺序

    当我使用吞咽丑化 https github com terinjokes gulp uglify为了缩小 Javascript 文件 顺序变得混乱 可以说我让这个任务按预期工作 var gulp require gulp var renam
  • 如何让JS变量在页面刷新后保留值? [复制]

    这个问题在这里已经有答案了 是否可以永久更改 JavaScript 变量 例如 如果我设置变量 X 并使其等于 1 然后按钮的 onClick 将该变量更改为 2 如何使该变量在刷新页面时保持为 2 这是可能的window localSto

随机推荐