繁体   English   中英

下拉选择选项显示价格?

[英]Dropdown select option shows price?

也许我的问题不是很好,但是我试图在HTML页面上添加一个下拉菜单,并且当选择一个选项时,它应该显示一些价格,并且现在一切都很好,但是当我添加多个下拉菜单时,价格仅在第一个div中显示,我希望每个下拉菜单显示不同的价格。

JS:

function changeddl($this){
   $("#divprice").text($this.value>0?("Price: " + $this.value + " $"):"");
};

HTML:

<select id="bedrooms" onchange="changeddl(this)">
  <option>Size</option>
  <option value="160">90 x 50 | 4,75 kg.</option>
  <option value="240">100 х 200 | 7,35 kg.</option>
</select>
<div id="divprice" class="price-style"></div>

这工作正常,但是当我再添加一个时:

<select id="bedrooms" onchange="changeddl(this)">
      <option>Size</option>
      <option value="160">90 x 50 | 4,75 kg.</option>
      <option value="240">100 х 200 | 7,35 kg.</option>
    </select>
    <div id="divprice" class="price-style"></div>

价格显示在第一个div中,这个没有显示。 我不知道该怎么做才能使其正常工作...

你有相同的id在这两个列表时, id属性应该是相同的文档中是唯一的,否则只是第一个将总是挑。

我建议使用公共类,因此请尝试使用类.divprice示例替换ID #divprice

$($this).next('.divprice').text( $this.value>0?("Price: " + $this.value + " $"):"" );

HTML应该是:

<select class="bedrooms" onchange="changeddl(this)">
    <option>Size</option>
    <option value="160">90 x 50 | 4,75 kg.</option>
    <option value="240">100 х 200 | 7,35 kg.</option>
</select>
<div class="divprice" class="price-style"></div>

<select class="bedrooms" onchange="changeddl(this)">
  <option>Size</option>
  <option value="160">90 x 50 | 4,75 kg.</option>
  <option value="240">100 х 200 | 7,35 kg.</option>
</select>
<div class="divprice" class="price-style"></div>

注意:另外,id bedrooms也应更改为唯一的或普通的类,就像我在前面的HTML代码中所做的一样。

希望这可以帮助。

您需要使用classnot id因为ids must be unique ,并且.next()可以更改下一个div的文本,例如

 function changeddl($this){ $($this).next('.divprice').text($this.value>0?("Price: " + $this.value + " $"):""); }; 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="bedrooms" onchange="changeddl(this)"> <option>Size</option> <option value="160">90 x 50 | 4,75 kg.</option> <option value="240">100 х 200 | 7,35 kg.</option> </select> <div class="divprice" class="price-style"></div> <select class="bedrooms" onchange="changeddl(this)"> <option>Size</option> <option value="160">90 x 50 | 4,75 kg.</option> <option value="240">100 х 200 | 7,35 kg.</option> </select> <div class="divprice" class="price-style"></div> 

you need only one div to show value try this
<select id="bedrooms" onchange="changeddl(this)">
  <option>Size</option>
  <option value="160">90 x 50 | 4,75 kg.</option>
  <option value="240">100 х 200 | 7,35 kg.</option>
</select>

<select id="bedrooms" onchange="changeddl(this)">
      <option>Size</option>
      <option value="160">90 x 50 | 4,75 kg.</option>
      <option value="240">100 х 200 | 7,35 kg.</option>
    </select>
<div id="divprice" class="price-style"></div>


<script>
function changeddl($this){
   $("#divprice").text($this.value>0?("Price: " + $this.value + " $"):"");
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM