2011-10-27 30 views
0

當用戶輸入郵編並檢查useAbove時,郵政編碼將填入郵政編碼。如果useAbove未被選中,則郵件郵政編碼被清除。 現在,我得到一個錯誤,如果用戶輸入一個郵政編碼甚至雖然Jquery keyup總是在檢查框勾選後觸發,然後取消選中

($("#useAbove").attr("checked") == false 

它不應該打

$('#txtPostcode').keyup(function (event) 

郵件郵政編碼填充有沒有一種方法可以讓我檢查($("#useAbove").attr("checked") = false$('#txtPostcode').keyup(function (event))是同時發射?

感謝

$(document).ready(function() { 
    $("#useAbove").click(function() { 
     //If checkbox checked 
     if ($(this).attr("checked") == true) { 
     var Postcode = $('#txtPostcode').val(); 
     var Address = $('#txtAddress').val(); 

     $('#txtMailingPostcode').val(Postcode); 
     $('#txtAddress1').val(Address); 

     //Change mailing postcode when text changed 
     $('#txtPostcode').keyup(function (event) { 
       $('#txtMailingPostcode').val($('#txtPostcode').val()); 
     }); 

    } else { 
     $("#txtMailingPostcode").val(""); 
    } 
    }); 
}); 

HTML

<table id="Table" border="1"> 
    <tr> 
     <td>txtAddress</td> 
     <td>  
      <input id="txtAddress" type="text" /> 
     </td> 
</tr> 
<tr> 
     <td>Postcode</td> 
     <td>  
      <input id="txtPostcode" type="text" /> 
    </td> 
</tr> 
<tr> 
    <td><input type="checkbox" name="useAbove" id="useAbove"/></td> 
    <td>Use address above</td> 
</tr> 
<tr> 
    <td>Address</td> 
    <td> 
     <input id="txtAddress1" type="text" /> 
    </td> 
</tr> 
<tr> 
    <td>Mailing Postcode</td> 
    <td>  
     <input id="txtMailingPostcode" type="text" value="" /> 
    </td> 
    </tr> 
</table> 
</form> 

這就是我把它放到我的主要MVC應用程序之前,我使用的小程序。

+0

您使用該查詢的版本? –

+0

jquery-1.4.2默認使用vs2011自帶的版本。 –

+0

我們可以得到的HTML和完整的JavaScript? –

回答

2
if ($(this).attr("checked") == true) { 

我認爲問題在於這一行。與

if ($(this).attr("checked")) { 

選擇替換它不等於布爾意義true,但它返回一個「truthy」值。

+0

謝謝,我試過它沒有工作。 –

0

嘗試使用​​或值設置爲<input type="checkbox" name="useAbove" id="useAbove"/>和使用$(this).val() == 'YOUVALUEHERE'

+0

謝謝我試過它沒有工作。 –

相關問題