我有一个带有select元素的表单。 我试图找出一种方法从文本中提取数字($ Dollar amount)并将其写入属性 - 选项值(所以我可以做一些计算)。
我拥有的是:
<select id="myselectbox" class="form-select">
<option value="_none">- None -</option>
<option value="7" selected="selected">An item - $1.99/ea</option>
<option value="8">Another item - $2.89/ea</option>
</select>
我想看到的是:
<option value="1.99" selected="selected">An item - $1.99/ea</option>
我是Jquery和javascript的新手,所以如果有人能指出我正确的方向,我将非常感激! (或者甚至可以提供一些示例代码!:)
答案 0 :(得分:1)
$(function() {
$('#myselectbox').find('option:gt(0)').each(function() {
this.value = $(this).text().replace(/^.*\$([^\/]+)\/.*$/,'$1');
});
console.log( $('#myselectbox').html() );
});
输出:
<option value="_none">- None -</option>
<option value="1.99" selected="selected">An item - $1.99/ea</option>
<option value="2.89">Another item - $2.89/ea</option>
答案 1 :(得分:1)
您可以尝试以下jQuery脚本:
jQuery(document).ready(
function() {
var options = jQuery("option");
jQuery.each(options, function(index, value) {
var value = jQuery(this).text();
var re = /\$?(([1-9][0-9]{0,2}(,[0-9]{3})*)|0)?\.[0-9]{1,2}/;
var matches = value.match(re);
if (matches) {
var amount = matches[0].slice(1, matches[0].length - 1);
jQuery(this).attr("value", amount);
}
});
}
);
以下是工作演示@ jsfiddle