首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发出输入更改事件和输入字段

发出输入更改事件和输入字段
EN

Stack Overflow用户
提问于 2017-04-11 10:29:46
回答 1查看 41关注 0票数 0

我有一个单选按钮,一个文本字段和一个选择字段。这是html代码:

代码语言:javascript
复制
<div class="wb-success-delivery">
 <input type="radio" name="delivery" value="0" /><span> Now)</span>
</div>
<div class="success-delivery">
  <input type="radio" name="delivery" value="2"  />
   <input type="text"  class="test" id="del_time_rang2"  value="Tomorrow" name="delivery" />
     <select id="del_time_rang" >  
      <option value="11-12pm">11-12pm</option> 
      <option value="12-1pm">12-1pm</option> 
      <option value="1-2pm">1-2pm</option>
 </select>
</div>

然后,我得到了一些带有更改函数的jQuery代码来存储上面用户选择的信息。

代码语言:javascript
复制
$j(document).ready(function(){
$j("input[name='delivery']").change(function(){
  var $jtime= $j('#del_time_rang').val();
  var $jdate= $j('#del_time_rang2').val();
  var $jresult=  $jdate + ' between ' + $jtime ;

    if($j("input[name='delivery']:checked").val()==0) {
        $j("#del_time_1").val('Now');
        $j("#del_time_2").val('Now');
    } else if($j("input[name='delivery']:checked").val()==2) {
        $j("#del_time_1").val($jresult);
        $j("#del_time_2").val($jresult);
    }
});

});

现在,这对于#del_time_rang2是有效的,但是对于#del_time_rang,只有当用户首先选择正确的选项,然后单击单选按钮时,它才能工作。否则,它将显示默认值(11-12 11)。我认为这是因为更改事件是针对单选按钮输入的,但不确定如何修复它?有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-11 10:44:11

我认为您也应该将onChange事件附加到select,因此:

  • 我将name="delivery"添加到select中
  • onChange事件附加到$("[name='delivery']")

见下文:

代码语言:javascript
复制
$(document).ready(function(){
$("[name='delivery']").change(function(){
  var $jtime= $('#del_time_rang').val();
  var $jdate= $('#del_time_rang2').val();
  var $jresult=  $jdate + ' between ' + $jtime ;

    if($("input[name='delivery']:checked").val()==0) {
        $("#del_time_1").val('Now');
        $("#del_time_2").val('Now');
    } else if($("input[name='delivery']:checked").val()==2) {
        $("#del_time_1").val($jresult);
        $("#del_time_2").val($jresult);
    }
});

});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wb-success-delivery">
 <input type="radio" name="delivery" value="0" /><span> (Now)</span>
</div>
<div class="success-delivery">
  <input type="radio" name="delivery" value="2"  />
   <input type="text"  class="test" id="del_time_rang2"  value="Tomorrow" name="delivery" />
     <select id="del_time_rang" name="delivery" >  
      <option value="11-12pm">11-12pm</option> 
      <option value="12-1pm">12-1pm</option> 
      <option value="1-2pm">1-2pm</option>
 </select>
</div>
<input type="text" id="del_time_1">

注意:无论如何,我认为selector应该使用"class“属性,而不是"name”属性。

希望它能帮到你,再见。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43343410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档