如何在Laravel中提交所选的下拉值?

时间:2016-12-31 14:45:34

标签: php laravel

在Laravel中,我试图获取所选下拉值的值并将其发送到另一个控制器。通过使用下面的下拉值,需要通过从数据库中提取数据来更改值。

以下是我尝试的代码。

<form action="{{{ url("/getDetailsBynumber/$_POST['number']") }}}" method="post">
<select name="number" id="number">
    <option selected="selected">Select number id</option>
    <?php     
    $numberArray = json_decode($number_id, true);       

    for ($i = 0 ; $i<=$number_count ; $i++) {
    ?>
    <option value="<?php echo $numberArray[$i]["number_value"] ?>"><?php echo $numberArray[$i]["number_value"]; ?></option>
    <?php
    }
    ?>
</select>
<input type="submit" value="Submit">

3 个答案:

答案 0 :(得分:1)

<form action="{{ url("/getDetailsBynumber/") . $_POST['number'] }}" method="post">
<select name="number" id="number">
    <option selected="selected">Select number id</option>
    <?php     
    $numberArray = json_decode($number_id, true);       

    for ($i = 0 ; $i<=$number_count ; $i++) {
    ?>
    <option value="<?php echo $numberArray[$i]["number_value"] ?>"><?php echo $numberArray[$i]["number_value"]; ?></option>
    <?php
    }
    ?>
</select>
<input type="submit" value="Submit">

答案 1 :(得分:1)

您需要将名称属性添加到选择标记。因此,当表单提交时,它将使用它的名称发送选定的值。例如:

<select name="product_id">
   <option value="1">Cup</option> <!-- Suppose this option selected -->
   <option value="2">Pen</option>
   <option value="3">Book</option>
</select>

如果您提交表单,您可以按如下方式在控制器中获取所选值:

public function methodName(Request $request)
{
  // $request->product_id is name attribute of your select tag
  print_r($request->product_id); // It will print out 1 which is value of Cup
}

答案 2 :(得分:0)

这是我提交后获取状态名称的代码,如果验证失败,那么它可以工作 在页面加载时,您可以获得像这样的国家ID

var countryid = $('#opt_country').val();

之后你必须找到state_id

像这样

if (countryid != '')
{

    $.ajax({
        url: base_path + 'getstate',
        type: "POST",
        data: {in_country_id: countryid},
        async: true,
        cache: false,
        success: function (statedata) {
            var obj = jQuery.parseJSON(statedata);
            console.log(obj);
            if (obj.SUCC_FLAG == 1)
            {
                for (var i in obj)
                {
                    console.log(obj);
                    var id = obj[i].in_state_id;
                    var name = obj[i].st_state_name;
                    if (id == stateid)
                    {
                        $("#opt_state").append("<option value='" + id + "' selected >" + name.toString() + "</option>");
                    } else {
                        $("#opt_state").append("<option value='" + id + "'>" + name.toString() + "</option>");
                    }
                }
            }
            else
            {
                confirm('We are unable to load State');
            }
        },
        error: function () {
            alert("server error");
        }

    });
}

之后你可以获得状态,所以这是我提交页面后获取状态的例子