2016-11-18 171 views
0

我有一個帶特殊字符的ID。我需要使用JQUERY獲取此輸入的值。帶特殊字符的ID與Jquery

<input style="text-align:center; width:50px;" type="text" onKeyPress="jq(this.id);" value="5" id="adhocGlobal_#@HELLO DAVID%VSOP1240%6X0.7LFIG"> 
    <script> 
    function jq(str) { 
     var id = str.replace(/[%#;&,\.\+\@*~':"!\^\$\[\]\(\)=>|\/\\]/g, '\\\\$&'); 
     var value = $("#"+id).val(); 
     alert(value); 
} 
    </script> 

我嘗試這個,但我沒有在警報中的響應。 幫助!請!

+1

您想要的ID? – Mahi

+0

我想要包含在輸入 – David

+0

什麼是str值那麼值? – Mahi

回答

0
function jq(str) { 
    var element = document.getElementById("adhocGlobal_#@HELLO DAVID%VSOP1240%6X0.7LFIG"); 

    var value = $(element).val(); 
    alert(value); 
} 
1

通常情況下,您可以在選擇器\\中使用jQuery的轉義序列來轉義特殊字符。但是,在這種情況下,由於它在元素中指定的id無效,因爲它包含空格,所以這不起作用。

由於,你將不得不在jQuery的使用屬性選擇檢索:

var $el = $('[id="adhocGlobal_#@HELLO DAVID%VSOP1240%6X0.7LFIG"]'); 
 
console.log($el.val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input style="text-align: center; width: 50px;" type="text" onKeyPress="jq(this.id);" value="5" id="adhocGlobal_#@HELLO DAVID%VSOP1240%6X0.7LFIG">

一個更好的解決辦法是解決您的元素id他們之前輸出到頁面以刪除空格和特殊字符。

0

從小提琴獲得答案here 我寫的都是javascript & jquery。在ID中每個特殊字符之前都有一個選項//,但這對我沒有任何作用。另一方面,你可以得到答案。檢查&讓我知道。

$("#clickID").on('click', function(){ 
    getVal = $(document.getElementById('adhocGlobal_#@HELLO DAVID%VSOP1240%6X0.7LFIG')).val(); 
    console.log(getVal); 
    alert(getVal); 
});