2017-04-11 63 views
0

我有一個單選按鈕,一個文本字段和一個選擇字段。 這是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如果用戶首先選擇正確的選項,然後點擊單選按鈕,它纔會起作用。否則它會顯示默認值(11-12pm)。 我認爲這是因爲更改事件是爲單選按鈕輸入,但不知道如何修復它?有任何想法嗎?

+0

它在magento – MariaL

+0

你希望它只在收音機的onchange事件期間工作,或者你可以提交一種按鈕? –

+0

爲什麼不選擇第二個收音機時隱藏/顯示日期輸入?通過將這些值綁定到##del_time_ *'這意味着您還需要設置事件來改變輸入的select和onkeyup(或模糊),以便每當它們發生更改時都會分配新值 – Pete

回答

2

我認爲你應該重視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應使用「類」屬性,而不是「name」屬性。

我希望它能幫助你,再見。