【问题标题】:Bootstrap Add textbox values to ListBootstrap 将文本框值添加到列表
【发布时间】:2018-04-29 13:44:44
【问题描述】:

我正在使用 C# ASP.NET MVC 5 使用 Bootstrap 和 jquery 开发应用程序。我对 Javascript 很陌生。

1。如何更改 javascript 以仅允许“数量”坐标数? (找到方法并更新了代码)

  1. 如何将“提交”上的“列表”发布给控制器?我猜相应的模型会有一个 x 和 y 的列表,我将列表绑定到该列表?

谢谢!

控制器

[HttpGet]
public ActionResult Index() {

 var plate = new Plate() {

   Holes = new Holes() {
    Coordinates = new List < Tuple < double, double >> ()
   },

 };

 return View(plate);
}

[HttpPost]
public ActionResult Index(Plate plate) {
 try {
  // access plate.Holes.Coordinates

  DrawingGenerator drawingGenerator = new DrawingGenerator(plate);
  string outputFileName = drawingGenerator.GenerateDrawing();

  ViewBag.fileName = outputFileName;

  return View("../Download/Success");
 } catch (Exception) {
  return View("ErrorPage");
  throw;
 }
}

cshtml 文件

<div class="tab-pane fade" id="tab2">
   <div class="form-inline col-md-5">
      @Html.TextBox("Quantity", null, new { @class = "form-control" })
      @Html.TextBox("X", null, new { @class = "form-control" })
      @Html.TextBox("Y", null, new { @class = "form-control" })
      <input type="button" id="Add" class="button1" value="Add" />
   </div>
   <ul id="list"></ul>
</div>

<script type="text/javascript">
$(document).ready(function () {

    // list container
    var listContainer = $('#list');
    var count = 0;

    $("#Add").click(function () {

        // get x  & y from tb
        var qty = $("#Quantity").val();

        if (count == qty)
        {
            alert("can't add more! update quantity");
            return;
        }

        var x = $("#X").val();
        var y = $("#Y").val();

        // add new list item
        listContainer.prepend('<li> (' + x + ', ' + y + ') </li>');
        count = count + 1;

        // clear value input
        $('#X').val('');
        $('#Y').val('');

    });
});

【问题讨论】:

标签: javascript jquery-ui bootstrap-4


【解决方案1】:

在按钮单击事件中获取内容并将其发送到服务器。

Fiddle

$('#get').click(function(){
   alert( $('#list').text());
});

使用 ajax 发布

$('#get').click(function(){
  console.log( $('#list').text());
 $.ajax({  
        type: "POST",  
        url: "/path to controller file",  
        data: $('#list').text(),  
        success: function(data) {  
            console.log(data); //post successfully done 
        }  
    });  
});

【讨论】:

  • >"将其发送到服务器" 我该怎么做? :) 你能详细说明一下吗?
  • 嗯..所以我添加了一个“保存”按钮,点击它会将列表“发布”到服务器,对吧?
  • 是的。或者您可以通过页面上的任何操作来执行此操作。请检查我的更新答案
  • @user3453636 如果此答案对您有帮助,请将其标记为答案,以便对正在搜索相同内容的其他人有所帮助
猜你喜欢
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多