我使用从数据库中获取选择标记进行循环下拉菜单。每当选择或更改选择项时,我都想提醒值。但是问题在于它只警告选择项的第一行(橙色框)。如何使每一个选择都改变,它应该警告值(蓝色框)?
<select id="select_price" name="select_price" class="form-control" onchange="demo()">
<option value="">--- Please Select ---</option>
<?php
for ($countPrice=1; $countPrice<=10; $countPrice++) {
echo "<option value='"; echo $countPrice; echo "'>";
echo $countPrice;
echo " ( ";
echo number_format((float)$countPrice*$row_display['price'], 2, '.', '');
echo ")</option>";
}
?>
</select>
这是onChange的jQuery
function demo() {
alert($("#select_price").children("option").filter(":selected").val());
}
答案 0 :(得分:1)
将jQuery脚本编码为.js文件。您可以使用<script>
在正面进行调用。在下面的程序中,事件是动态触发的:
$(document).ready(function(){
$("#select_price")
.change(function () {
$( "select option:selected" ).each(function() {
alert( $( this ).text() );
});
});
});
如果.text()
不起作用,请尝试.val()
。
答案 1 :(得分:0)
您可以尝试使用它而不是演示功能
$('#select_price').on('change', function() {
alert($(this).val());
});
答案 2 :(得分:0)
(代表问题作者发布的解决方案)。
$( "select" ).change(function() {
var str = 0;
$( "select option:selected" ).each(function() {
str += Number($(this).val());
});
$( ".cakoroi" ).text( str );}) .trigger( "change" );
它将合并所选选择的值。