当前位置: 首页 > 知识库问答 >
问题:

选择后自动填充输入选择选项Javascript DOM

赵英范
2023-03-14

我想创建一些表格与自动填充价格在输入框,但我不知道如何实现到我的代码。首先我有选择选项,然后选择选项后,输入框上的价格会自动生成,然后我输入折扣值,然后总价格会自动生成(基本价格-折扣%)。这是我的代码:

null

function bali() {
  var e = document.getElementById("bali");
  e.addEventListener("change", function() {
    var val = 7000000;
    document.getElementById("harga").value = val;
  })
};
<form name="cal" action="">
  <table>
    <caption>
      <h1>
        Kalkulator
      </h1>
      <h3>
        Paket Wisata Imam Tour
      </h3>
    </caption>
    <tr>
      <td>Nama Paket Tour</td>
      <td>:</td>
      <td>
        <select name="" id="paket">
          <option onchange="bali()" id="bali" value="">Paket Tour Bali</option>
          <option value="">Paket Tour Korea</option>
          <option value="">Paket Tour Eropa</option>
        </select>
      </td>
    </tr>
    <tr>
      <td>Harga Paket</td>
      <td>:</td>
      <td>Rp.<input id="harga" name="harga" type="number" value="0"></td>
    </tr>
    <tr>
      <td>Diskon</td>
      <td>:</td>
      <td><input id="diskon" name="diskon" type="number">%</td>
    </tr>
    <tr>
      <td>Total Bayar</td>
      <td>:</td>
      <td><input id="tot" name="tot" type="text"></td>
    </tr>

  </table>
</form>

null

共有1个答案

壤驷雅达
2023-03-14

您添加的事件有误。不能在选项本身上添加AddEventListener更改。永远不会变。Select element does。

onchange事件移动到其中。onchange=“MyFunction(event)”并将event传递给它。则可以获取该事件和所选选项值:

function myFunction(event) {
  console.log(event.target.value)

则您可以根据以下条件设置条件:

if (event.target.value === "Bali") {
    document.getElementById("harga").value = 7000;

...

我还在HTML中添加了值以使其工作。另外,我建议添加一个默认的pres selected选项:

  <option selected disabled>...</option>

这也可以用其他方法来完成。

null

function myFunction(event) {
  console.log(event.target.value)

  if (event.target.value === "Bali") {
    document.getElementById("harga").value = 7000;
  } else if (event.target.value === "Korea") {
    document.getElementById("harga").value = 8000;
  } else if (event.target.value === "Eropa") {
    document.getElementById("harga").value = 9000;
  }

};
<form name="cal" action="">
  <table>
    <caption>
      <h1>
        Kalkulator
      </h1>
      <h3>
        Paket Wisata Imam Tour
      </h3>
    </caption>
    <tr>
      <td>Nama Paket Tour</td>
      <td>:</td>
      <td>
        <select name="" id="paket" onchange="myFunction(event)">
          <option selected disabled>...</option>
          <option value="Bali">Paket Tour Bali</option>
          <option value="Korea">Paket Tour Korea</option>
          <option value="Eropa">Paket Tour Eropa</option>
        </select>
      </td>
    </tr>
    <tr>
      <td>Harga Paket</td>
      <td>:</td>
      <td>Rp.<input id="harga" name="harga" type="number" value="0"></td>
    </tr>
    <tr>
      <td>Diskon</td>
      <td>:</td>
      <td><input id="diskon" name="diskon" type="number">%</td>
    </tr>
    <tr>
      <td>Total Bayar</td>
      <td>:</td>
      <td><input id="tot" name="tot" type="text"></td>
    </tr>

  </table>
</form>
 类似资料:
  • 问题内容: 我想使用css在html中的选择选项之间添加某种空间(填充,边距或其他)。我已经尝试使用类似的东西: 但是没有用。我已经读过,这是可以做到的,但在IE中不起作用。无论如何,即使它无法在IE中运行,我也希望它可以在其他浏览器中运行。 PS:当前正在使用Chrome 问题答案: 选择选项的样式非常有限,因为要在操作系统中的所有应用程序之间保持一致性和一致性,因此浏览器应限制某些基本元素的样

  • 我有一个调查,有一堆问题,包括实际问题,一些是或否的单选按钮和一个评论框。我加了一张照片给你看。下面是填充问题后的html结构。 此信息通过web服务和jquery动态填充。看起来这些问题是动态填充的,每个问题都包含相同的类名、范围名等。有40多个问题被附加到div中。 我想做的是选择一个特定的问题并选中一个特定的单选按钮。然后,如果单击某个单选按钮,则会自动选中其他单选按钮。我相信Jquery是

  • 我不知道为什么,但是在scrren尺寸1024 x 768上,我从select中选择的选项太大了。我怎样才能让这个选项像select一样宽?我想只在bootstrap 4上这样做,只使用bootstrap中的类,但我不知道或者这是可能的,我不知道为什么这个选择会这样。在更大的屏幕尺寸上,一切都可以。如何修复它?这是我的代码:

  • 我希望,如果我选择“mammals”,动物选择选项只显示值为1的选项data-animal_class。 我知道如何获得哺乳动物值,但我不知道如何使用过滤器 这是我的代码:

  • 在选择域之前: 域名选择后: 当我们启动网站时,它将显示域名下拉列表和选项值为“选择域”。如果我选择“选择域”选项,将显示实际域名。(这意味着在我选择选择域选项之前,不会显示有效域名列表) 我是硒新手,所以我试着使用和可见文本选项选择该选项。 我尝试了下面的python代码。但它不起作用。 我需要按以下顺序选择: > 选择域按钮 接下来,我需要选择自动隐藏文本“选择域…”选项值。然后将显示域值。(

  • 问题内容: 我是第一次使用Selenium,对这些选项不知所措。我在Firefox中使用IDE。 当我的页面加载时,它随后通过JSONP请求获取值,并以此填充select中的选项。 我如何让Selenium等待选择中的某个选项出现后再继续? 问题答案: 我认为你应该使用 命令。如果可能,让我看看您的Selenium IDE代码。