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>

ジャバスクリプト

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