jq操作select集合

jq操作select集合

时间:2012年12月07日分类:Javascript

最近一段时间发现,老是要跟select,option相关的东西打交道,而且有的时候还会搞错,于是,抽了一点时间整理了一份使用jq库来操作select的一些事件及方法,供大家参考。

html代码:

?
1
2
3
4
5
6
7
8
9
<</code>select id="selectTest" name="selectTest">
<</code>option value="请选择">请选择</</code>option>
<</code>option value="1">11</</code>option>
<</code>option value="2">22</</code>option>
<</code>option value="3">33</</code>option>
<</code>option value="4">44</</code>option>
<</code>option value="5">55</</code>option>
<</code>option value="6">66</</code>option>
</</code>select>

获取Select:

获取select选中的text
$('#selectTest').find('option:selected').text();
获取select选中的val
$('#selectTest').find('option:selected').val();
获取select选中的索引
$('#selectTest').get(0).selectedIndex

设置Select:

设置select选中的text
var text = "66";
var count = $("#selectTest option").length;
for(var i = 0; i < count; i++){
if($("#selectTest").get(0).options[i].text == text){
$("#selectTest").get(0).options[i].selected = true;
break;
}
}
设置select选中的value
$("#selectTest").find('option:selected').attr("value","Normal");
$("#selectTest").find('option:selected').val("Normal");
$("#selectTest").get(0).options[0].value = "Normal";
设置select选中的索引
$("#selectTest").get(0).selectedIndex = index;//index为索引值
设置select option项
$("#selectTest").append("< option value='Value'>Text< /option>"); //添加一项option
$("#selectTest").prepend("< option value='0'>请选择< /option>"); //在前面插入一项option
$("#selectTest option:last").remove(); //删除索引值最大的Option
$("#selectTest option[index=0]").remove();//删除索引值为0的Option
$("#selectTest option[value='3']").remove(); //删除值为3的Option
清空 Select
$("#selectTest").empty();
$("#selectTest").children().remove();

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/jamesf/p/4751673.html

### 使用 `jq` 的 `select` 命令过滤 JSON 数据 当处理复杂的 JSON 结构并希望基于特定条件筛选数据时,`jq` 提供了强大的功能来实现这一目标。通过使用 `select` 函数可以方便地根据字段值或其他逻辑表达式对对象进行过滤。 对于给定的 JSON 输入: ```json { "users": [ { "first": "Stevie", "last": "Wonder" }, { "first": "Michael", "last": "Jackson" } ] } ``` 如果想要仅获取姓氏为 "Jackson" 的用户记录,则可以通过如下命令完成: ```bash jq '.users[] | select(.last=="Jackson")' ``` 这会返回满足条件的对象列表[^1]: ```json { "first": "Michael", "last": "Jackson" } ``` 为了进一步展示更复杂的选择场景,假设有一个包含更多属性的数据集,并且希望能够找到所有年龄大于等于30岁的活跃用户(即 status 字段为 true)。此时可以用到嵌套结构以及多个条件组合的方式来进行查询: ```json [ {"name":"Alice","age":28,"status":true}, {"name":"Bob","age":34,"status":false}, {"name":"Charlie","age":45,"status":true} ] ``` 对应的 `jq` 查询语句将是这样的形式: ```bash jq 'map(select((.age >= 30) and .status))' ``` 上述操作将会输出符合条件的结果集合。 ```json [ { "name": "Charlie", "age": 45, "status": true } ] ``` 值得注意的是,在实际应用过程中可能还会遇到更加多样化的需求,比如字符串匹配、数值范围判断等,这些都可以借助于 `select` 配合其他内置函数轻松达成目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值