【问题标题】:Loop through json array, check checkbox where checkbox value matches json value循环遍历 json 数组,选中复选框值与 json 值匹配的复选框
【发布时间】:2016-03-09 08:32:57
【问题描述】:

我正在将我的数据库中的项目列表呈现到视图中,以便用户可以选择一些。如果已经选择了并且用户回到了这个视图,我需要检查选择的项目并相应地标记它们。在我的 MVC 控制器中,我从数据库中获取先前选择的项目,并将模型作为 json 字符串传递:

   ViewBag.selectedSoftware = JsonConvert.SerializeObject(selected);

然后我需要遍历这个列表并与页面上的所有复选框值进行比较。如果有匹配项,我希望选中复选框。

这是我得到的最接近的(意味着它没有抛出错误):

    $(function () {
        var softwareList = @Html.Raw(ViewBag.selectedSoftware);

        $('input[type=checkbox]').each(function() {
            if (this.value == softwareList.SoftwareId) {
                this.prop('checked', true);
            }
        })
    })

这是视图中的一个复选框:

      <input type="checkbox" name="SelectedSoftwareList" value="@item.SoftwareId" />

【问题讨论】:

  • 数据是什么样的?想必输入名称和数据数组对象有关系吧?

标签: jquery html checkbox


【解决方案1】:

假设我的对象 == 你的 JSON,你的数据 == 我的 ID

	$(document).ready(function() {
	  var fruits = {
	    fruit1: "Kiwi",
	    fruit2: "Apple",
	    fruit3: "Apricot",
	    fruit4: "Orange",
	    fruit5: "Banana",
	    fruit6: "Avocado",
	    fruit7: "Cherry",
	    fruit8: "Strawberry",
	    fruit9: "Guava",
	    fruit9: "Mango",
	    fruit10: "Lemon"
	  };

	  for (item in fruits) {
	    switch (fruits[item]) {
	      case 'Apple':
	        $("#Apple").prop({
	          "checked": true
	        });
	        break;

	      case 'Orange':
	        $("#Orange").prop({
	          "checked": true
	        });
	        break;

	      case 'Grapes':
	        $("#Grapes").prop({
	          "checked": true
	        });
	        break;

	      case 'Strawberry':
	        $("#Strawberry").prop({
	          "checked": true
	        });
	        break;

	      case 'Mango':
	        $("#Mango").prop({
	          "checked": true
	        });
	        break;

	      default:
	        break;
	    }
	  }
	});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='checkbox' id='Apple' />
<label>Apple</label>
<br />
<input type='checkbox' id='Orange' />
<label>Orange</label>
<br />
<input type='checkbox' id='Grapes' />
<label>Grapes</label>
<br />
<input type='checkbox' id='Strawberry' />
<label>Strawberry</label>
<br />
<input type='checkbox' id='Mango' />
<label>Mango</label>

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 2019-07-03
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多