我有一個HTML表單,它爲一些元素使用數組名稱,這樣我就可以在PHP中輕鬆讀取值,而不管最終有多少元素。例如:使用jQuery從HTML元素名稱獲取密鑰
<select name="brand[1]">...</select>
在這些元素的jQuery.change()事件中,我想找出關鍵字是什麼,即本例中的'1'。很明顯,我可以分開名稱屬性,看看我留下了什麼,但有沒有更正確的方法?我覺得應該有,但我似乎無法找到一個整潔的解決方案。
謝謝。
我有一個HTML表單,它爲一些元素使用數組名稱,這樣我就可以在PHP中輕鬆讀取值,而不管最終有多少元素。例如:使用jQuery從HTML元素名稱獲取密鑰
<select name="brand[1]">...</select>
在這些元素的jQuery.change()事件中,我想找出關鍵字是什麼,即本例中的'1'。很明顯,我可以分開名稱屬性,看看我留下了什麼,但有沒有更正確的方法?我覺得應該有,但我似乎無法找到一個整潔的解決方案。
謝謝。
$('select').change(function(){
var name = $(this).attr('name'),
var key = name.match(/\[(\d+)\]/)[1];
alert(key);
});
哦,我沒有想過使用正則表達式。似乎沒有工作得很好,儘管... .match()似乎只返回一個值,這也包含[和]部分。我也嘗試了/(\ [(\ d +)\])/和/ \ [([0-9] +)\] /但結果是一樣的 - [1]是不確定的。任何想法? – Ric 2014-09-13 15:45:35
對不起,我使用'g'標誌搞砸了,我通過刪除回答更新了,現在應該可以工作了 – 2014-09-13 15:49:35
啊,那有用,謝謝! 'm confused雖然... g修飾符不會阻止匹配在第一次發現後結束嗎?實際上現在我寫了,我認爲這是有道理的這要影響結果=)。我很快就會醒來! – Ric 2014-09-13 15:55:14
您可以添加一個html標籤來標識該關鍵字並在JQuery中獲取它。你會得到這樣的事情:
<select data-key="1" name="brand[1]">...</select>
<script>
$('select').change(function(){
var theKey = $(this).data("key");
});
</script>
'.match(/ \ [(\ d +)\] /)[1]'應該這樣做。 – 2014-09-13 15:03:46