如何使用JQuery从下拉列表中选择数字?
<select aria-invalid="false" id="RatePercent" class="wpcf7-form-control wpcf7-select ratePercent" name="RatePercent">
<option value="">---</option>
<option value="Floating-6.5%">Floating-6.5%</option>
<option value="6 Months-5.65%">6 Months-5.65%</option>
<option value="1 Year-5.85%">1 Year-5.85%</option>
<option value="18 Months-5.99%">18 Months-5.99%</option>
<option value="2 Years-6.19%">2 Years-6.19%</option>
<option value="3 Years-6.85%">3 Years-6.85%</option>
<option value="4 Years-7.19%">4 Years-7.19%</option>
<option value="5 Years-7.40%">5 Years-7.40%</option>
</select>
如果您选择1年-5.85%,则会返回&#39; 5.85&#39;而不是&#39; 1年-5.85%&#39;?
答案 0 :(得分:1)
使用.prop()和替换函数:
$(selector).prop("value").replace(/.*\-([0-9\.]+).*/, "$1");
这会从属性中提取完整值并仅返回数字。
这是jsfiddle:http://jsfiddle.net/zR6FC/
答案 1 :(得分:1)
试试这个:
$('#RatePercent').change(function() {
var val = $(this).val();
if (val != '') {
val = parseFloat(val.split('-')[1]);
}
console.log(val);
});
答案 2 :(得分:0)
在这里使用拆分,如:
$('#RatePercent').change(function() {
var val = $(this).val();
if (val != '') {
val = parseFloat(val.split('-')[1].split('%')[0]);
}
alert("Required value= "+val);
});
希望这会有所帮助。
答案 3 :(得分:0)
使用正则表达式:
$('#RatePercent').on('change', function() {
var re = /(\d(?:\.\d*))%$/,
matches = this.value.match(re);
if (matches) {
console.log(matches[1]);
}
});
答案 4 :(得分:0)
我的建议,请使用$.data()
<select aria-invalid="false" id="RatePercent" class="wpcf7-form-control wpcf7-select ratePercent" name="RatePercent">
<option value="">---</option>
<option value="Floating-6.5%" data-number="6.5">Floating-6.5%</option>
<option value="6 Months-5.65%" data-number="5.65">6 Months-5.65%</option>
</select>
访问:
$(this).data("number");