Как получить значение флажка в MVC?

0

когда я выберу флажок, и будет нажата кнопка выбора, как я могу получить это значение в значение текстового поля. Здесь checkbox id = chk и textbox id = OrderNo. Пожалуйста, помогите мне.... У меня что-то внизу.

$("#OrderNo").blur(function() {
    $.get('/Ordering/OrderList/', function(data) {
        $('#orlist').html(data);
    });
    $('#orlist').dialog({
        width: 500,
        height: 350,
        open: true,
        title: 'Select Order',
        buttons: {
            Select: function() {
                if (("#chk") == 'checked') {
                    var por = ("#porderno").val();
                    por = ("#OrderNo");
                }
            },
            Cancel: function() {
                $('#orlist').dialog('close');
                $('#orlist').empty();
            }
        }
    });

Страница частичного просмотра

@model IEnumerable<testcon.OrderM>
<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.OdrId)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.OrderNo)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.CId)
        </th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.CheckBox("OdrId", new { @id="chk"})
        </td>
         <td class="left">
            @Html.DisplayFor(modelItem => item.OrderNo, new { @id="porderno"})
        </td>
        <td class="left">
            @Html.DisplayFor(modelItem => item.CId)
        </td>

    </tr>
}

</table>

Моя страница просмотра

@model testcon.DeliveryInfo

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>DeliveryInfo</legend>

        @*<div class="editor-label">
            @Html.LabelFor(model => model.DId)
        </div>*@
        <div class="editor-field">
           Delivery Id : @Html.EditorFor(model => model.DId)
            @Html.ValidationMessageFor(model => model.DId)
        </div>

        @*<div class="editor-label">
            @Html.LabelFor(model => model.OrderNo)
        </div>*@
        <div class="editor-field">
          Order No :@Html.EditorFor(model => model.OrderNo)
            @Html.ValidationMessageFor(model => model.OrderNo)
            @*<a href="#" onclick="javascript:getOrderList()">Show Order</a>*@
        </div>

       @* <div class="editor-label">
            @Html.LabelFor(model => model.DDate)
        </div>*@
        <div class="editor-field">
           Delivery Date : @Html.EditorFor(model => model.DDate)
            @Html.ValidationMessageFor(model => model.DDate)
        </div>

        @*<div class="editor-label">
            @Html.LabelFor(model => model.DQuantity)
        </div>*@
        <div class="editor-field">
           Delivery Quantity: @Html.EditorFor(model => model.DQuantity)
            @Html.ValidationMessageFor(model => model.DQuantity)
        </div>

        @*<div class="editor-label">
            @Html.LabelFor(model => model.DAmount)
        </div>*@
        <div class="editor-field">
           Delivery Amount : @Html.EditorFor(model => model.DAmount)
            @Html.ValidationMessageFor(model => model.DAmount)
        </div>
        <div id="orlist" >
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>
  • 0
    Вы можете показать свой HTML-код
  • 1
    Это ("#chk") должно быть $ ("# chk"), а это var por = ("#porderno"). Val (); должно быть var por = ("#porderno"). val ($ (("# chk")). val ()); Также удалите эту строку por = ("#OrderNo"); Я не понимаю, почему это.
Показать ещё 1 комментарий
Теги:
asp.net-mvc-4

2 ответа

2
Лучший ответ

Используйте .is(':checked') проверьте, проверено ли...

buttons: {
    Select: function() {
        if ($("#chk").is(':checked')) {
            $("#OrderNo").val($("#porderno").val());
        }
    },
  • 0
    боссу приятно видеть, что ваш код работает .... Но проблема в том, что я хочу получить значение porderno для OrderNo. как я могу это сделать?
  • 0
    Только что обновил ответ. Это то, что вы ищете?
Показать ещё 1 комментарий
0

чтобы проверить, установлен ли флажок в jQuery, вы можете сделать это

//will return true if the check box is checked otherwise false!
$("#chkBoxId").is(':checked');   

или

этот подход хорош при работе с группой переключателей/флажков.

//will yield the same result if checkbox is checked
$('input[name="chkBoxName"]:checked').val();    

Таким образом, вы можете использовать их в своем коде, как то, что @Anthony Chu ответил, что я собирался написать :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню