簡體   English   中英

輸入更改事件和輸入字段存在問題

[英]Issue with input change event and input fields

我有一個單選按鈕,一個文本字段和一個選擇字段。 這是html代碼:

<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代碼,用於存儲上述用戶選擇的信息。

$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 ,但適用於#del_time_rang ,僅當用戶首先選擇正確的選項然后單擊單選按鈕時,此方法才有效。 否則,它將顯示默認值(11-12pm)。 我認為這是因為change事件是用於單選按鈕輸入的,但是不確定如何解決? 有任何想法嗎?

我認為您也應該將onChange事件附加到select ,因此:

  • 我在選擇中添加了name="delivery"
  • onChange事件附加到$("[name='delivery']")

請參閱跟隨:

 $(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); } }); }); 
 <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的“類”屬性而不是“名稱”屬性。

希望對您有幫助,再見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM