我有一個由js代碼生成的輸入數組。我已經設置了這樣的輸入名稱:name="myTextInput[]"
如何在javascript中獲取輸入索引 - 可以使用jQuery
如何獲取所選輸入的索引?
我想是這樣的:
onClick="oc(this);"
其中:
function oc(inp)
{
return(inp.index);
}
,但不工作。
我也可以使用jQuery
我有一個由js代碼生成的輸入數組。我已經設置了這樣的輸入名稱:name="myTextInput[]"
如何在javascript中獲取輸入索引 - 可以使用jQuery
如何獲取所選輸入的索引?
我想是這樣的:
onClick="oc(this);"
其中:
function oc(inp)
{
return(inp.index);
}
,但不工作。
我也可以使用jQuery
您可以使用jQuery中的EACH函數。這將通過一組匹配的元素進行解析。你可以在裏面放置一個自定義函數,這個自定義函數將使用每個元素的索引作爲參數解析。
$('input').each(function(index){
alert(index);
});
您還可以得到每個輸入的值是這樣的:
$('input').each(function(index, val){
alert(index + ' has value: ' + val);
});
這裏查看詳細信息:http://api.jquery.com/jQuery.each/
**編輯**
如果你想顯示的值在點擊時的警告框中,一起使用每個功能和點擊功能。請記住要獲取輸入的實時值,請使用$(this).val()
。點擊返回索引和數值數據:
$('input').each(function(index, val){
$(this).click(function(){
alert(index + ' has value: ' + $(this).val());
});
});
我以爲OP在尋找'onclick',而不是'each()'函數的一部分。如果你要循環,你可以考慮一個簡單的'for(...)'結構。 – shanabus 2012-03-02 13:39:03
@shanabus - 謝謝你的擡頭。 – 2012-03-02 13:45:46
請使用index()
方法來查找元素的位置。
看看這個例子:http://jsbin.com/uyucuv/edit#javascript,html
<ul>
<li id="foo">foo</li>
<li id="bar">bar</li>
<li id="baz">baz</li>
</ul>
$(function() {
$("li").on("click", function() {
alert($(this).index());
});
});
檢查index()
文檔瀏覽:http://api.jquery.com/index/
希望這有助於!
你可以得到這樣輸入(不知道如果你真的想要的click
事件雖然) ...
var inputs = $('input[name="myTextInput[]"]');
inputs.click(function() {
alert(inputs.index(this));
});
@nachito:啊,謝謝。完全錯過了。 – 2012-03-02 13:46:29
的「jQuery的方式」是爲了避免onClick="whatever()"
和使用純JavaScript從分離HTML標籤。一對<script>
標籤之間試試這個(注意:需要jQuery的1.7或更高版本):
$('input').on('click', function() {
var varname = $(this).attr('name'),
$arr = $('input[name="'+varname+'"]'),
idx = $arr.index(this);
alert(idx);
});
你不使用jQuery在你的示例代碼。你想要_____嗎? – Blazemonger 2012-03-02 13:32:47
是的,我可以使用jQuery代碼 – Ervin 2012-03-02 13:33:46
將來,請嘗試提供一個完整的代碼示例,以便我們準確理解您正在處理的內容以及您想要解決的問題。 – Blazemonger 2012-03-02 13:55:48