Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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 获取选择值,然后添加到自定义html属性_Javascript_Php_Jquery_Html_Laravel 4 - Fatal编程技术网

Javascript 获取选择值,然后添加到自定义html属性

Javascript 获取选择值,然后添加到自定义html属性,javascript,php,jquery,html,laravel-4,Javascript,Php,Jquery,Html,Laravel 4,有没有一种方法可以让我获得客户的选择,然后将其添加到自定义html5属性中 我有一个select mnu动态来自一个数据库,该数据库生成以下HTML: <select name="options"> <option value="2 Tier &pound;250.00">2 Tier &pound;250.00</option> <option value="3 Tier &pound;350.00">

有没有一种方法可以让我获得客户的选择,然后将其添加到自定义html5属性中

我有一个select mnu动态来自一个数据库,该数据库生成以下HTML:

  <select name="options">
    <option value="2 Tier &pound;250.00">2 Tier &pound;250.00</option>
    <option value="3 Tier &pound;350.00">3 Tier &pound;350.00</option>
    <option value="4 Tier &pound;450.00">4 Tier &pound;450.00</option>
   </select>
因此,基本上,如果客户选择选项一,我希望获取值,去掉文本,只获取数字,而不刷新页面或移动到其他任何地方,只是将该值添加到自定义属性I中;我正在使用jQuery购物车

 <div class="item" data-id="123" data-name="Some product name" data-price="VALUE_HERE">
我假设jQuery可以做到这一点,但不确定如何做到这一点。希望获得一些帮助,请举例说明如何做到这一点。

给你:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("select[name=options]").change(function() {
        var element = $(this).attr("rel");
        var tmp = $(this).val().match(/[-+]?[0-9]*\.?[0-9]+/g);
        var value = tmp[tmp.length-1];

        $('#'+element).attr('data-price',value);
    })
});
</script>
</head>
<body>
<select name="options" rel="item-1">
    <option value="2 Tier &pound;250.00">2 Tier &pound;250.00</option>
    <option value="3 Tier &pound;350.00">3 Tier &pound;350.00</option>
    <option value="4 Tier &pound;450.00">4 Tier &pound;450.00</option>
</select>

<div class="item" id="item-1" data-name="Some product name" data-price="" />
</body>
</html>

这是你正在看的东西吗


这是一个,但我如何才能去掉文本,英镑;签名,然后抓取250.00的数字,比如说。我们可以只给选项值,比如etc,而不是文本吗?不,它已经从数据库中提取出来了,所以需要以某种方式删除它。我试过这个$this.val.match/[-+]?[0-9]*\.?[0-9]+/g;它确实可以工作,但它添加了两项而不是一项。您能检查一下JSFIDLE中的当前代码吗。Regexp在更改后可能会变慢。我需要它快速刷新页面,以便将更改后的select选项传递给data price属性,如何做到这一点?
 <select name="options">
    <option value="2 Tier &pound;250.00">2 Tier &pound;250.00</option>
    <option value="2 Tier &pound;250.00">3 Tier &pound;350.00</option>
    <option value="2 Tier &pound;250.00">4 Tier &pound;450.00</option>
   </select>
 <div class="item" data-id="123" data-name="Some product name" data-price="VALUE_HERE">
$("select").change(function(){
   selectedValue = $(this).val();     
//alert(selectedValue);
var p = selectedValue.indexOf("£");
rest = selectedValue.substring(p+1);
$(".item").attr("data-price",rest)}).change();