2011-07-13 39 views
8

Trong mã html Tôi đang sử dụng mã <input type = "text" id = "[email protected]"> để nhận văn bản bây giờ, bạn cần nhận được giá trị của nó được nhập vào trường văn bản. Tôi đang sử dụng jquery để làm điều đó:ký tự đặc biệt trong id của thẻ html

$(document).ready(function() { 
    $(".bid").click(function() { 
     idVal = this.id 
     bidID = "#" + idVal + "bid" 
     spanID = "#" + idVal + "cbid" 
     bidValue = $(bidID).val(); 

     alert(idVal) 
     alert(bidID) 
     alert(bidValue) //this alert says undefined 
     $(spanID).html('&nbsp;').load('{% url online_machines %}?id=' + idVal + '&bidvalue=' + bidValue); 
    }); 
}); 

Bằng cách này tôi nhận được lỗi giá trị không xác định. Tôi đã cố xóa các ký tự đặc biệt khỏi id để lấy giá trị của nó. Nhưng tôi cần id với các ký tự đặc biệt. Làm thế nào có thể Tôi nhận được giá trị của nó bằng cách sử dụng jquery?

Trả lời

-4

Đưa dấu nháy đơn cho cả hai bên của id, như thế này:

$('#[email protected]').val() 
0

Có một shot này, không 100% cho dù đây là những gì bạn đang sau. Hãy cho tôi biết:

$(document).ready(function() { 
    $(".bid").click(function() { 
     idVal = $(this).attr('id'); 
     bidID = "#" + idVal + "bid"; 
     spanID = "#" + idVal + "cbid"; 
     bidValue = bidID.val(); 

     alert(idVal); 
     alert(bidID); 
     alert(bidValue); 
     spanID.html('&nbsp;').load('{% url online_machines %}?id=' + idVal + '&bidvalue=' + bidValue); 
    }); 
}); 
24

Thay vì cố gắng cho ID sử dụng #, hãy thử này để phù hợp với thuộc tính như thế này,

$('[id=ID]') 

hoặc

$('[id='+ID+']') 

nên thay vì

bidID = "#" + idVal + "bid" 

bạn có thể thử

bidID = "[id=" + idVal + "bid]" 
+0

nhờ nó làm việc cho tôi – big

+6

Bạn có thể muốn chấp nhận/phiếu bầu tán trong trường hợp đó :) –

+0

Trong một số trường hợp, bạn có thể cần làm như sau: $ ("[id = 'ID']") –

Các vấn đề liên quan