![](/img/trans.png)
[英]create hidden textbox, change it value in javascript and get new value. c#
[英]Javascript not reading value from hidden textBox - JQuery C#
我不是使用JavaScript / JQuery的非專家,但是在弄清楚為什么我的腳本不起作用時遇到了麻煩。 當我的C#頁面加載時,我有一個隱藏的textBox txtHiddenKeywordArray,它會動態填充逗號分隔的值,例如...馬,越野車,跟蹤
我正在嘗試在jquery.highlight-3.js中使用突出顯示功能,其中我有一個標簽文本字段,該文本字段將包含並突出顯示關鍵字列表中的單詞。 我正在使用腳本
<script language="javascript" type="text/javascript">
var myString = document.getElementById('<%=txtHiddenKeywordArray.ClientID%>').val()
myArray = myString.split(" ");
$(document).ready(function () {
for (i = 0; i < myArray.length; i++)
$("p").highlight(myArray[i])
});
</script>
這是textBox聲明:
<asp:TextBox ID="txtHiddenKeywordArray" ClientIDMode="Static" runat="server" Visible="false"></asp:TextBox>
當我對var myString的值進行硬編碼時,它的效果很好。 我嘗試研究它,並不斷看到相同的示例。 該頁面確實使用了MasterPage。 這會影響嗎?
知道如何讓腳本從文本框中查看值嗎? 我需要RegisterStartUpScript之類的東西嗎? 感謝您的任何幫助,您可以提供。
組
style="display:none;"
代替使用
Visible="false"
為您的TextBox。
如果將TextBox設置為visible = false。 然后,文本框將不會在html中呈現。 因此,將無法訪問。
例如。:
<asp:TextBox ID="txtHiddenKeywordArray" ClientIDMode="Static" runat="server" style="display:none;"></asp:TextBox>
JS代碼:
<script language="javascript" type="text/javascript">
$(document).ready(function () {
var myString = $('#<%=txtHiddenKeywordArray.ClientID%>').val();
myArray = myString.split(" ");
for (i = 0; i < myArray.length; i++)
$("p").highlight(myArray[i])
});
</script>
var myString = document.getElementById('<%=txtHiddenKeywordArray.ClientID%>').val()
應該
var myString = $('#<%=txtHiddenKeywordArray.ClientID%>').val();
因為.val()
可用於jQuery對象。
您也可以嘗試
var myString = document.getElementById('<%=txtHiddenKeywordArray.ClientID%>').value;
嘗試使用
var myString = $('#<%=txtHiddenKeywordArray.ClientID%>').val();
@Kapil和@thecodeparadox的建議是必要的。 您還需要在$ document.ready(...)內移動javascript的前兩行:
<script language="javascript" type="text/javascript">
$(document).ready(function () {
var myString = $('#<%=txtHiddenKeywordArray.ClientID%>').val();
myArray = myString.split(" ");
for (i = 0; i < myArray.length; i++)
$("p").highlight(myArray[i])
});
</script>
您無需將原始的asp.net控制標記傳遞給選擇器。 只需id
名稱即可。 這應該工作。
普通的舊JavaScript應該是
var myString = document.getElementById('txtHiddenKeywordArray').value;
jQuery應該是
var myString = $('#txtHiddenKeywordArray').val();
您是否嘗試過將文本框更改為隱藏字段(這就是您要執行的操作)。
<asp:HiddenField runat="server" ID="txtHiddenKeywordArray" Value="horse, track" />
和js:
$(document).ready(function () {
alert($("input[id$='txtHiddenKeywordArray']").val());
});
效果很好:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.