我有以下输入元素:
<input name="option[100]" value="first" type="radio" checked="checked"/>
<input name="option[100]" value="second" type="radio" />
<input name="option[100]" value="third" type="radio"/>
我能够使用
myOption = $('input[name^=\'option\']:checked').val();
获取单选按钮的值。
但是,我想知道 100 的名称ID,我怎么能得到它?
我想提交ajax作为数组,就像发布表单一样
$.ajax({
url: 'product/product/add',
type: 'post',
data: { product_id: product_id, option: myOption },
dataType: 'text',
PHP让POST需要$myOption[100]=first;
答案 0 :(得分:1)
您可以使用attr('name')
获取元素名称并使用非常简单的正则表达式 - /\d+/
:
var myOption_name = $('input[name^=\'option\']:checked').attr('name');
console.log(myOption_name.match(/\d+/)[0]);
// or
// console.log(myOption_name.replace(/^option\[(\d+)]$/, "$1"));
// or
// console.log(myOption_name.match(/^option\[(\d+)]$/)[1]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="option[100]" value="first" type="radio" checked="checked"/>
<input name="option[100]" value="second" type="radio" />
<input name="option[100]" value="third" type="radio"/>
&#13;
如果您想确保名称符合您的特定模式,您可以使用
/^option\[(\d+)]$/
使用match
或replace
(请参阅上面代码段中的注释代码)。
详细:
^
- 字符串开头option\[
- option[
子字符串(\d+)
- 第1组捕获1个或多个数字]
- 结束]
$
- 字符串结束。