我从表单元素中提取json字符串。然后,我需要根据是否存在某个表单字段并且其值为xxx来做出决定。我没有将表单字段名称传递给下面的.length函数:
$('input[type="radio"]', myform).each(function(){
var $this = $(this);
var jsonData = $.parseJSON($this.attr("data-dependsOn"));
$.each(jsonData, function(index, element) {
console.log("element.param : " + element.param + " & element.value : " + element.value );
if ( $('#myform input[name=''' + element.param + ''']').length > 0 ) ) {
console.log("indeed exists");
} else {
console.log("not so much");
}
});
});
示例console.log:
element.param:homeType& element.value:condo
顺便说一下,我不能使用元素的id或类属性。
如何在适当转义引号的同时将element.param
传递给input[name='']
?
提前感谢。
答案 0 :(得分:2)
您可以执行以下任何操作。
if ( $('#myform input[name="' + element.param + '"]').length > 0 )
//_________________________^_____________________^___________
或使用javascript引号转义。
if ( $('#myform input[name=\'' + element.param + '\']').length > 0 )
//_________________________^_____________________^___________
注意:强> if条件行中还有一个额外的结束
)
。