0

具有讽刺意味的是,我创建的 form_multiselect() 对我不起作用。实际上它是创建的,但我无法选择多个选项。我按照用户指南上的说明进行操作,但尽管看起来像一个多选,但仍然不能像多选一样工作。我犯了什么愚蠢的错误?

这是 Web 浏览器的检查元素功能中的代码:

<select name="meal_type[]" id="meal_type_id" onfocus="calculateTotal();" onblur="calculateTotal();" onchange="calculateTotal();" multiple="multiple">
    <option value="Breakfast_1000">Breakfast</option>
    <option value="Dinner_2500">Dinner</option>
    <option value="Lunch_2000">Lunch</option>
</select>

这是我在 View 中编码的内容:

<div class="control-group">     
    <label for="meal_type" class="control-label">
        <i class="icon-glass"></i> Meal Type: 
    </label>
    <div class="controls">
    <?php
        $js = 'id="meal_type_id" onFocus="calculateTotal();" onBlur="calculateTotal();" onChange="calculateTotal();"';
        echo form_multiselect('meal_type[]', $mt_name, set_value('meal_type'), $js);
    ?>
    <?php echo form_error('meal_type'); ?>
</div>

JAVASCRIPT

function calculateTotal() {

    var room_type_id = document.getElementById('room_type_id').value;
    var room_type_cost = room_type_id.split("_");

    var meal_type_id = document.getElementById('meal_type_id').value;
    var meal_type_cost = meal_type_id.split("_");

    var ext_beds_id = document.getElementById('ext_beds_id').value;
    var ext_beds_cost = ext_beds_id.split("_");

    var reservation_duration = document.getElementById('reservation_duration').value;
    var total_payable = ( parseInt(room_type_cost[1]) + parseInt(meal_type_cost[1]) + parseInt(ext_beds_cost[1]) ) * parseInt(reservation_duration);
    document.getElementById('total_amount').value = total_payable;
}
4

0 回答 0