Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加select下拉列表的rel属性_Javascript - Fatal编程技术网

Javascript 添加select下拉列表的rel属性

Javascript 添加select下拉列表的rel属性,javascript,Javascript,我有一个表单,我想向用户显示他们选择的选项的运行总数。但是,我需要使用PHP中的字段值,该字段处理它发送电子邮件的表单,其中包含用户从多个下拉菜单中选择的选项 因此,我想把数字总数放在'rel'属性中,然后求和。下面是一个例子: <option value="1x VIP Ticket" id="one" rel="160">1x VIP Ticket</option> 下面是使用数据属性的修订代码: <script type="text/javascript"&

我有一个表单,我想向用户显示他们选择的选项的运行总数。但是,我需要使用PHP中的字段值,该字段处理它发送电子邮件的表单,其中包含用户从多个下拉菜单中选择的选项

因此,我想把数字总数放在'rel'属性中,然后求和。下面是一个例子:

<option value="1x VIP Ticket" id="one" rel="160">1x VIP Ticket</option>
下面是使用数据属性的修订代码:

<script type="text/javascript"> <!--
$(document).ready(function() {
    function recalculate() {
        var sum = 0;

        $("#game1, #game2 option:selected").each(function() {
            sum += parseInt($(this).data("total"));
        });

        $("#output").html(sum);
    }

    $("#game1, #game2 option:selected").change(function() {
        recalculate();
    });

});

</script>

Tickets for Game 1
<select name="game1" id="game1">
<option value="1x VIP Ticket" id="1vip" data-total="160">1x VIP Ticket</option>
<option value="1x Regular Ticket" id="1regular" data-total="100">1x Regular Ticket</option>
</select>

Tickets for Game 2
<select name="game2" id="game2">
<option value="1x VIP Ticket" id="2vip" data-total="160">1x VIP Ticket</option>
<option value="1x Regular Ticket" id="2regular" data-total="100">1x Regular Ticket</option>
</select>


<div id="output"></div>
选项没有rel属性。请尝试改用属性:

<option value="1x VIP Ticket" id="one" data-total="160">1x VIP Ticket</option>

...

sum += parseInt($(this).data("total"));
选项没有rel属性。请尝试改用属性:

<option value="1x VIP Ticket" id="one" data-total="160">1x VIP Ticket</option>

...

sum += parseInt($(this).data("total"));
var selectedVal=$this.findoption:selected.attrrel; 选项rel属性值获取。

var selectedVal=$this.findoption:selected.attrrel;
选项rel属性值获取。

Ahh,谢谢!然而,我对这一点还很陌生,不明白我需要如何更改代码的其余部分,以便它查找选择菜单而不是复选框。$theSelect option:selected.each…好吧,它现在正在抓取选择的选项,这太棒了!但是重新计算函数失败了,只是给出了“NaN”,所以它似乎没有正确地提取数据属性?我在原来的问题中添加了修改后的代码。太好了!救生员。非常感谢!啊,谢谢!然而,我对这一点还很陌生,不明白我需要如何更改代码的其余部分,以便它查找选择菜单而不是复选框。$theSelect option:selected.each…好吧,它现在正在抓取选择的选项,这太棒了!但是重新计算函数失败了,只是给出了“NaN”,所以它似乎没有正确地提取数据属性?我在原来的问题中添加了修改后的代码。太好了!救生员。非常感谢!我不认为选项标签可以有rel属性。无论哪种方式,这都不会增加当前的被接受的答案,我会考虑删除,除非你可以编辑更多的信息到你的答案。我认为你从来没有使用它。所以你发送了这种类型的答案。因为昨天我在我的项目中做到了。OKI不认为选项标记可以有rel属性。无论哪种方式,这都不会增加当前的被接受的答案,我会考虑删除,除非你可以编辑更多的信息到你的答案。我认为你从来没有使用它。所以你发送了这种类型的答案。因为昨天我在我的项目中做到了。好啊
$(document).ready(function() {
    function recalculate() {
        var sum = 0;

        $("#game1, #game2").find("option:selected").each(function() {
            sum += parseInt($(this).data("total"));
        });

        $("#output").html(sum);
    }

    $("#game1, #game2").change(function() {
        recalculate();
    });

});