通过按钮动态传递值

问题描述:

函数根据值检查输入复选框。通过按钮动态传递值

它正常工作,直到我试图通过按钮传递“dinamicly”的值。我错过了一些东西,但看不到它是什么。

function fill(value_id) 
{   
    $('input[type=checkbox][value='value_id']').prop('checked', true); 
} 


<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div> 

对解决方案的任何解释是值得欢迎的。

变化

$('input[type=checkbox][value='value_id']').prop('checked', true); 
          ^ ^
           Syntax Error 

$('input[type=checkbox][value="'+ value_id + '"]').prop('checked', true); 

你有语法错误

+1

非常感谢!我正在使用'console.log(“进入fill()”+ value_id)'看看我是否至少进入了函数......并没有注意到串联... – Qu4k3

您需要检查控制台错误。试图逃避价值时,要小心concatanation和引号。这应该做的伎俩

function fill(value_id) { 
 
    $('input[type=checkbox][value="' + value_id + '"]').prop('checked', true); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div>

+1

感谢您的快速响应!没有注意到连接... – Qu4k3

您应该使用+(串连)运算符来连接字符串和变量。

$('input[type=checkbox[value='+value_id+']').prop('checked', true); 

function fill(value_id) 
 
{   
 
    $('input[type=checkbox[value='+value_id+']').prop('checked', true); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div>

+0

感谢您的解释!错过了非常基本的东西... – Qu4k3

你缺少变量和字符串之间添加加号(+)。您可以使用此代码段

function fill(value_id) { 
 
    $('input[type=checkbox][value=' + value_id + ']').prop('checked', true); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn open-modal" data-modal="somemodal" onclick='fill("12-12")'>check</div> 
 

 

 
<input value="12-12" type="checkbox"></input>