Jquery实际应用,判断radio,selelct,checkbox是否选中及选中的值

本文围绕jQuery展开,介绍了表单元素如radio、checkbox、select的取值和控制方法,如获取选中项的值、设置选中项等。还指出了使用jQuery获取input元素值时的问题及解决办法,同时说明了jQuery中each替代for循环时实现break和continue功能的方式,最后分享了银行项目中判断复选框选中状态的代码问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jquery取radio单选按钮的值
$("input[name='items']:checked").val();  
另:判断radio是否选中并取得选中的值

如下所示:
function checkradio(){
  var item = $(":radio:checked");
  var len=item.length;
  if(len>0){
    alert("yes--选中的值为:"+$(":radio:checked").val());
  }
}

 jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关   

 获取一组radio被选中项的值   

 var item = $('input[name=items][checked]').val();   

 获取select被选中项的文本   

 var item = $("select[name=items] option[selected]").text();   

 select下拉框的第二个元素为当前选中值   

 $('#select_id')[0].selectedIndex = 1;   

 radio单选组的第二个元素为当前选中值   

 $('input[name=items]').get(1).checked = true;  

  

 
 获取值:  

 文本框,文本区域:$("#txt").attr("value");   

 多选框checkbox:$("#checkbox_id").attr("value");   

 单选组radio: $("input[type=radio][checked]").val();   

 下拉框select: $('#sel').val();  

    

 控制表单元素:   

 文本框,文本区域:$("#txt").attr("value",'');//清空内容   

$("#txt").attr("value",'11');//填充内容  

   
 多选框checkbox: $("#chk1").attr("checked",'');//不打勾   

 $("#chk2").attr("checked",true);//打勾   

 if($("#chk1").attr('checked')==undefined) //判断是否已经打勾  

    

 单选组radio: $("input[type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项   

 下拉框select: $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项   

 $("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option   

$("#sel").empty();//清空下拉框  

    

 刚开始接触jquery,很多东西不熟悉   

 在用$("#id")来获得页面的input元素的时候,发现$("#id").value不能取到值  

 后来终于在伟大的百度帮助下,找到了问题的原因:   

 $("")是一个jquery对象,而不是一个dom element  

 value是dom element的属性  

 jquery与之对应的是val  
 
 val() :获得第一个匹配元素的当前值。  

 val(val):设置每一个匹配元素的值。  

   

 所以,代码应该这样写: 
 取值:val = $("#id")[0].value;   
 赋值:  $("#id")[0].value = "new value";  
 或者$("#id").val("new value"); 
 或者这样也可以:val = $("#id").attr("value");



jQuery中each非常好用,常用它取代javascript的for循环

例如在一个function里有一个each,在each里某种条件 成立的话,就把这个function返回true或者false
function methodone(){
  ....
  $.each(array,function(){
    if(条件成立){
      return true;
    }
  });
  ....
}

结果发现老是不对。
后来查找资料才发现,在each代码块内不能使用break和continue,要实现break和continue的功能的话,要使用其它的方式
break----用return false;
continue --用return ture;
所以当我在each里想使用return true给这个function返回时,其实只是让each继续执行而以
连each都没有中断,所以function也就不能return了  

另:判断radio是否选中并取得选中的值
如下所示:
  function checkradio(){
    var item = $(":radio:checked");
    var len=item.length;
    if(len>0){
        alert("yes--选中的值为:"+$(":radio:checked").val());
    }
  }

我自己在银行项目上的阅读协议的选项中用jquery写js的时候遇到的问题是这样的:

代码1:不能正常运行

   if($("#readdeal").attr("checked")==undefined){
            window.location.href="#page2";
        }else{
            alert("请选择已阅读协议");
            return false;    
        }

代码2:不能正常运行

   if($("input[type='checkbox']").attr("checked")==true){{
            window.location.href="#page2";
        }else{
            alert("请选择已阅读协议");
            return false;    
        }

 

代码3:完美解决问题

 

   if($("input[type='checkbox']").is(':checked')){
            window.location.href="#page2";
        }else{
            alert("请选择已阅读协议");
            return false;    
        }

 

转载于:https://www.cnblogs.com/Codenewbie/p/3327031.html

在 C++ 中连接 Redis 集群并设置多个节点、用户名和密码以及选择特定库通常需要使用第三方库,如 `hiredis` 或 `rediactcpp`。这里以 `hiredis` 为例,因为它的 API 相对简洁: ```cpp #include <hiredis/hiredis.h> #include <string> // 定义配置信息 struct RedisConfig { std::vector<std::pair<std::string, std::string>> nodes; // 节点列表,包括地址和端口 std::string username; std::string password; int selected_db; // 选择的数据库索引 }; // 连接函数 redisReply* connectToRedis(const RedisConfig& config) { redisContext* ctx = nullptr; for (const auto& node : config.nodes) { const char* addr = node.first.c_str(); int port = std::stoi(node.second); // 创建连接 ctx = redisConnect(addr, port); if (ctx != nullptr && redisStatus(ctx) == REDIS_OK) { // 设置用户名和密码 if (!config.username.empty()) { redisReply* auth_reply = redisCommand(ctx, "AUTH %s", config.password.c_str()); if (auth_reply == nullptr || auth_reply->type != REDIS_REPLY_STATUS) { freeReplyObject(auth_reply); redisDisconnect(ctx); ctx = nullptr; } else { freeReplyObject(auth_reply); } } // 如果成功,尝试切换到指定库 if (ctx) { redisReply* select_reply = redisCommand(ctx, "SELECT %d", config.selected_db); if (select_reply == nullptr || select_reply->type != REDIS_REPLY_INTEGER) { freeReplyObject(select_reply); redisDisconnect(ctx); ctx = nullptr; } else { freeReplyObject(select_reply); } // 如果所有操作都成功,返回连接上下文 return ctx; } } else { // 失败则断开连接并尝试下一个节点 redisFree(ctx); ctx = nullptr; } } // 如果所有节点都无法连接,则返回nullptr return nullptr; } int main() { RedisConfig config = {{"node1.example.com:6379", "node2.example.com:6379"}, "your_username", "your_password", 0}; redisReply* ctx = connectToRedis(config); if (ctx) { // 现在你可以使用 ctx 来执行命令 // 示例:redisCommand(ctx, "SET mykey value"); // ... // 关闭连接 redisFreeReply(ctx); redisFree(ctx); } else { // 错误处理... } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值