jquery通过输入名称从字符串中查找输入值

时间:2016-12-10 07:36:51

标签: jquery

嗨我的字符串值为<input type="hidden" name="SaleDetail[7835].ProductID" value=7835 /><input type="hidden" name="SaleDetail.Index" value="7835" />

但是当我在下面运行以从输入中提取值时,它只返回undefined ..

var stringVal = '<input type="hidden" name="SaleDetail[7835].ProductID" value=7835 /><input type="hidden" name="SaleDetail.Index" value="7835" />'
var inputVal = $('input[name="SaleDetail.Index"]', $(stringVal)).val();

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您的代码将搜索嵌套的子元素,因为没有嵌套的子元素它不会返回任何元素。要从元素集合中获取元素,请使用filter()方法。

&#13;
&#13;
var stringVal = '<input type="hidden" name="SaleDetail[7835].ProductID" value=7835 /><input type="hidden" name="SaleDetail.Index" value="7835" />'
var inputVal = $(stringVal).filter('input[name="SaleDetail.Index"]').val();

console.log(inputVal);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

或者您需要通过任何其他元素包装元素以使其工作。

&#13;
&#13;
var stringVal = '<input type="hidden" name="SaleDetail[7835].ProductID" value=7835 /><input type="hidden" name="SaleDetail.Index" value="7835" />'
var inputVal = $('input[name="SaleDetail.Index"]', '<div>' + stringVal + '</div>').val();

console.log(inputVal);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;