使用选项输出而不是选项值
use option output rather than option value
我设置了一个简单的jquery脚本来计算用户的服务成本。 脚本效果很好!但是,我的数据库端调用另一条路线。如何使用选项的实际输出而不是值进行计算
jquery:
var $selections = $('#selections');
var $selects = $("select").change(function () {
var total = 0;
$selections.empty();
$selects.each(function () {
var $selected = $(this).find("option:selected");
var price = parseFloat($selected.data("price")) || 0;
total += price;
if($selected.val() !== ''){
$('<li />', {
text: $selected.val() + $(this).parent().clone().children().remove().end().text()+" " + $selected.data("price")
}).appendTo($selections)
}
})
$(".summary").text('Est. Total $' + total);
})
带有 PHP 的 HTML:
<select name="rooms" id="Areas">
<option value="" selected="selected">0</option>
@foreach ($room as $rooms)
<option data-price="{{ $rooms->pr_clean }}" value='{{ $rooms->room }}'>{{ $rooms->room }}</option>
@endforeach
</select>
基本上,我希望能够在值字段中添加一些不同的东西以进入数据库,但仍然使用{{ $rooms->room }}
计算他们想要选择多少空间
以下是我的脚本如何工作的基本思想的摆弄。 http://jsfiddle.net/arunpjohny/xf9Fp/
在 jQuery 中,.val()
会在 <option>
标记内定义时为您提供选项的值。如果选项中没有值,它将获取选项的文本。
<option value="" selected="selected">0</option>
^------^ ^
value text
所以因为你的一些选项有value=""
,jQuery的.val()将得到这个值,这是一个空字符串。如果<option>
标签内部没有value=""
,.val()
会给你0
。
为了确保您始终获得该选项的文本,您可以使用 .text()。
所以使用这个: if($selected.text() !== ''){
相关文章:
- jQuery从选项的输出字符串中选择HTML选项
- 选项卡输出的焦点丢失事件的Javascript
- Javascript 从表单单选选项或文本字段列表中获取所选值,以使用者为准,并输出到文本
- Twitter 引导选项卡:悬停时显示,鼠标输出时隐藏
- jQuery UI 自动完成 - 在焦点输出时未选择匹配的选项
- nodejs 中的输出选项
- 使用选项输出而不是选项值
- 给我错误的输出,Javascript赢了't将生成的单词(要猜测的单词)与正确的选项匹配
- Tablesorter动态设置输出小部件选项
- 如何在多个选项卡中保存 greasemonkey 输出
- 如何将自定义选项添加到ng选项输出中
- jQuery更改聚焦选项卡或聚焦输出
- 如何从 Tumblr 主题选项的输出创建全局变量
- Javascript输出到一个新的选项卡
- 我想我的javascript函数输出在一个新的选项卡
- MySQL输出多个<选项>元素
- POST表单到新选项卡.输出格式为PDF
- js:创建一个多选择组件.选项组件状态的组合流不输出改变的状态
- 我如何改变我的脚本输出ul而不是选择选项
- 如何通过id和输出文本获取选项元素