jQuery:选择选项 - 添加价格

发布于 2024-11-05 11:21:40 字数 581 浏览 1 评论 0原文

我是编码新手。我有一个由两部分组成的问题:

1.假设我有:

#html    
<style>
    <option value="1"> Red Box </option>
    <option value="2"> Green Box </option>
    <option value="3"> Blue Box </option>
</style>
<style>
    <option value="4"> Red Circle</option>
    <option value="5"> Green Circle</option>
    <option value="6"> Blue Circle</option>
</style>

为每个选项分配美元值以便可以在 jQuery 中计算该值的最佳方法是什么?

2.如何使用 jQuery 来创建这些结果: * 所选选项价格总计并显示给用户 * 用户可以选择“提交选项”

I'm new to coding. I have a two part question:

1.Let's say I have:

#html    
<style>
    <option value="1"> Red Box </option>
    <option value="2"> Green Box </option>
    <option value="3"> Blue Box </option>
</style>
<style>
    <option value="4"> Red Circle</option>
    <option value="5"> Green Circle</option>
    <option value="6"> Blue Circle</option>
</style>

What's the best way to assign each option a Dollar value so that the value can be computed in jQuery?

2.How can jQuery be used to create these results:
* The selected option prices are totaled and shown to the user
* The user can choose to "submit options"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

(り薆情海 2024-11-12 11:21:40

所选选项的价格将被总计并显示给用户

简单,只需执行以下操作:

  var total = 0;
  $('select').each(function() {
      // Convert val from string to integer, so it isn't cocantenated.
      total += parseInt($(this).val());
  });
 alert('Total is: ' + total);

用户可以选择“提交选项”

那么您通常需要一个提交按钮:

<input type="submit" value="Submit" name="submit"/>

然后您可以让浏览器处理表单值的提交。为此,每个选择或任何表单元素都必须是表单的子元素。您还可以定义表单应在何处发布/获取值。

<form name="shapes" action="/form-handler.php" method="post">
  <!-- your select elements here !-->
</form>

如果您希望正确提交表单中的每个元素,则必须具有名称属性。

如果您希望 jQuery 通过 ajax 提交表单,您可以使用漂亮的 serialize

 $('[name=shapes]').serialize();

这会将表单值转换为用于发布的查询字符串。有关此函数的详细信息,请参阅 http://api.jquery.com/serialize/

The selected option prices are totaled and shown to the user

Simple, just do:

  var total = 0;
  $('select').each(function() {
      // Convert val from string to integer, so it isn't cocantenated.
      total += parseInt($(this).val());
  });
 alert('Total is: ' + total);

The user can choose to "submit options"

Well you would normally want a submit button:

<input type="submit" value="Submit" name="submit"/>

Then you can either let the browser handle the submitting of the form values. To do this each select, or any form element, must be a child of the form. You also define where the form should either post/get values to

<form name="shapes" action="/form-handler.php" method="post">
  <!-- your select elements here !-->
</form>

Each element in your form MUST have a name attribute if you want it to be submitted correctly.

Should you want jQuery to submit a form via ajax, you can use the beauty serialize

 $('[name=shapes]').serialize();

This will convert the form values to a query string for posting. See http://api.jquery.com/serialize/ for details on this function.

醉城メ夜风 2024-11-12 11:21:40

为每个选项分配美元值的最佳方法是使用选项标签的值键。它会是这样的:

#html    
<select> <!-- I'm assuming you meant a select-tag here not a style-tag -->
    <option value="5"> Red Box </option>
    <option value="8"> Green Box </option>
    <option value="1"> Blue Box </option>
</select>
<select>
    <option value="6"> Red Circle</option>
    <option value="3"> Green Circle</option>
    <option value="1"> Blue Circle</option>
</select>

你的 jQuery 代码可以是这样的:

var total = $('select:first').attr('value') + $('select:last').attr('value');

The best way to assign each option a dollar value is by using the value key of the option tag. It would go something like this:

#html    
<select> <!-- I'm assuming you meant a select-tag here not a style-tag -->
    <option value="5"> Red Box </option>
    <option value="8"> Green Box </option>
    <option value="1"> Blue Box </option>
</select>
<select>
    <option value="6"> Red Circle</option>
    <option value="3"> Green Circle</option>
    <option value="1"> Blue Circle</option>
</select>

Your jQuery code can look like:

var total = $('select:first').attr('value') + $('select:last').attr('value');
孤芳又自赏 2024-11-12 11:21:40

获得总数:

<script>
  $(document).ready(function(){
    alert( $('select:first').val() + $('select:last').val() );
  });
</script>

希望这有帮助。干杯

To get the total:

<script>
  $(document).ready(function(){
    alert( $('select:first').val() + $('select:last').val() );
  });
</script>

Hope this helps. Cheers

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文