我有一个使用angular.js的应用程序,我对它很新.我有一个复选框列表,可以根据之前的选择动态创建.
例如,如果我有一个水果下拉列表,将创建以下html:
<input type='checkbox' value="apple">apple</input>
<input type='checkbox' value="banana">banana</input>
<input type='checkbox' value="mango">mango</input>
<input type='checkbox' value="orange">orange</input>
<input type='checkbox' value="pear">pear</input>
<input type='checkbox' value="watermelon">water</input>
Run Code Online (Sandbox Code Playgroud)
但是,有时生成的复选框数量超过20项,我想使用一些未使用的空间.
所以我想知道是否可以将一个复选框列表分成两列而不是一列,这样一个新列将生成填充剩下的复选框?
例如:如果我有18个项目,而不是包含18个复选框的单个列的一个大列表,则最终结果将在列上有10个复选框,在其旁边的另一列中有8个复选框.我想只有2列作为最大值.这可能吗?
这是我到目前为止所做的,我不确定这是否是最佳方式.否则我只会回答这个问题并将其标记为这样.我想,分割数据的逻辑将在代码隐藏中完成.
视觉表现
X Apple X Pears
X Banana X Watermelon
X Mango
X Orange
Run Code Online (Sandbox Code Playgroud)
X代表一个复选框.
因此,我一直在将select2用于非ajax查询,到目前为止,它一直非常有用。但是,我想对ajax json响应使用下拉菜单之一。在整篇文档中,几乎没有任何提示可以显示如何使用它。
整体文件:http://ivaynberg.github.io/select2/
除了要压缩的代码示例之外,几乎没有任何html代码或json示例,我现在正茫然无措。
所以这是我得到的一个json:
[{“ ST_CD”:“ NY”,“ ST_SHRT_NM”:“纽约”},{“ ST_CD”:“ NY”,“ ST_SHRT_NM”:“纽约1”}]
这是很标准的。我在文档中注意到,您需要映射一个“ id”和一个“文本”才能使它起作用。不知道为什么我不能照原样做,但是几乎没有任何文档。
https://groups.google.com/forum/#!topic/select2/rDPFU0IWpE0
select2的作者提到了以下关键事实:
您需要在选项中提供id函数,因为您的id键是“ Id”而不是“ id”。
您还需要提供formatResult和formatSelection选项,因为您没有“文本”键。
在这里遇到相同问题的用户:https : //github.com/ivaynberg/select2/issues/693 也表明这是正确的。
但是,这对我没有用。
$(document).ready(function () {
$("#e6").select2({
id: function(e) { return e.ST_CD },
placeholder: "Search for a movie",
minimumInputLength: 1,
ajax: {
url: "api/VendorLocation",
dataType: 'json',
data: function (term, page) {
return {};
},
results: function (data, page) {
return { results: data };
},
formatResult: function (item) { return item.ST_SHRT_NM; },
formatSelection: function …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
<template>
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-outline-dark active">
<input type="radio" name="grp" v-model="channel" value="vh1" checked> VH1
</label>
<label class="btn btn-outline-dark">
<input type="radio" name="grp" v-model="channel" value="mtv"> MTV
</label>
</div>
</template>
<script>
export default {
data() {
return {
channel: 'mtv'
}
},
watch: {
channel: function(newValue) {
console.log('value has been changed to ' + newValue);
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
当我单击单选按钮时,什么也没有发生。但是,当我删除样式的“ data-toggle =” buttons“属性时,它开始起作用!有人可以帮我在这里找到解决方法吗?
编辑
对于那些不知道的人,数据切换来自引导按钮插件,它为您制作的按钮增加了额外的样式和功能。在此处查看文档:https : //getbootstrap.com/docs/4.0/components/buttons/#toggle-states
这一直困扰着我一段时间,因为我试图提出一种优化的查询方式。
因此,假设我有 3 个交叉引用表,它们共享一个公共列,该公共列将在包含更多信息的主表上进行最终连接。
例如:
假设我有以下内容:
Customers //properties: ID, Name, Address
IEnumberable<CustomerSports> //properties: CustomerID, SportsID
IEnumberable<CustomerLocation> //properties: CustomerID, LocationID
IEnumberable<CustomerPets> //properties: CustomerID, PetsID
Run Code Online (Sandbox Code Playgroud)
所以我可以进行查询,例如:
给我一份在纽约 (CustomerLocation) 玩长曲棍球、足球、足球 (CustomerSports)... 以及养狗和猫 (CustomerPets) 的客户列表。查找表可以为空,因此客户可以参加体育运动,但没有宠物。
然后,当我获得客户列表时,我将加入客户表中的公共列 (CustomerID) 以检索 ID、姓名和地址。
我正在考虑在每次查找时加入客户表,然后进行联合以获取客户列表,但我不知道这是否是正确的做法。
我有一个Web服务,可以接受特定格式的JSON。但是,我给了值的JSON,但是键名不同。
我知道它目前效率很低,因为它只是将数据从一个投影到另一个。
我需要做的就是将其转换为:
var json1 = { key1: "Value1", key2: "Value2", key3: "Value3" };
Run Code Online (Sandbox Code Playgroud)
至
var json2 = { state: "Value1", city: "Value2, zipcode: "Value3" };
Run Code Online (Sandbox Code Playgroud)
我调查了一下,$.map但是我不确定在这种情况下如何使用它。
jquery ×2
json ×2
angularjs ×1
bootstrap-4 ×1
c# ×1
checkbox ×1
javascript ×1
linq ×1
vuejs2 ×1