如何在javascript中动态声明变量
可以动态读取post变量吗? i、 e 当我查看控制台时,变量是未定义的。有正确的语法吗 编辑: HTML是动态的(PHP):如何在javascript中动态声明变量,javascript,variables,Javascript,Variables,可以动态读取post变量吗? i、 e 当我查看控制台时,变量是未定义的。有正确的语法吗 编辑: HTML是动态的(PHP): 编辑javascript以匹配以下内容 function ajax_edit_color(color_id, building) { var color_name = $('#'+color_id).val(); var color_hex_code = $('#'+color_id).val(); console.log(color_name, color
编辑javascript以匹配以下内容
function ajax_edit_color(color_id, building)
{
var color_name = $('#'+color_id).val();
var color_hex_code = $('#'+color_id).val();
console.log(color_name, color_hex_code);
}
//color_name_uuu和color_hex_code_uu都已经是您的ID的一部分。您的基本方法是正确的,因此我建议您从一个简化的测试开始,例如不使用PHP。我验证了一个基本示例:
<!doctype html>
<html>
<head>
<script type="text/javascript" src="js/libs/jquery-2.1.4.js"></script>
<script>
function test(){
var index=1;
var val=$("#color_name_"+index).val();
console.log( '****' +val);
};
</script>
</head>
<body>
<button onclick="test();return false;">test</button>
<input type="text" id='color_name_1' value='green'>
<input type="text" id='color_name_2' value='blue'>
</body>
功能测试(){
var指数=1;
var val=$(“#颜色#名称"+索引).val();
console.log('***'+val);
};
测试
这很有效。现在,如果您自己的代码失败,请尝试寻找差异,特别是:
1.javascript何时运行?是否在文档中呈现“color\u name”元素之前?
2.如果您的PHP生成了错误的值,那么可以通过查看文档源来测试这一点。当然,查看最终的HTML:
<label for="color_name_">Color name : </label>
<input type="text" name="color_name_6" id="color_name_"
class="form-control" required="required" value="orange" />
颜色名称:
名字是对的,但id是错的。修复php,javascript将开始工作。id需要是color\u name\u 6
,而不是color\u name\u
哪个变量是未定义的
?如果color\u name
和color\u hex\u code
则检查页面上是否有id为color\u name
+color\u id
的元素。这些变量不是未定义的,它们的值是。这听起来像是一个完全错误的方法,无论你在这里尝试做什么。如果您有带有编号id的元素,那么您可能更倾向于寻找类和/或直接连接的事件处理程序?请添加HTML代码当您从控制台本身查看时,您正在另一个范围中查看。这些变量仅在特定调用ajax\u edit\u color
的上下文中定义。。。如果您希望在更高的范围内声明它们:在更高的范围内声明它们我有id为的页面元素,即设置了值的color_name_5和color_hex_code_5。我如何在我的JS中检索它们?你如何调用该函数以及你传递的值是什么?当你对PHP代码充满信心并开始责怪JS时会发生什么。。。THNX@dujmovicv很容易做到——这就是为什么我在要求最终的html时非常小心,而不仅仅是php;p我们都处于这种状态(可能不是使用php或jquery,或者其他什么——但是问题的主题与我们关注的主题相去甚远)
function ajax_edit_color(color_id, building)
{
var color_name = $('#'+color_id).val();
var color_hex_code = $('#'+color_id).val();
console.log(color_name, color_hex_code);
}
<!doctype html>
<html>
<head>
<script type="text/javascript" src="js/libs/jquery-2.1.4.js"></script>
<script>
function test(){
var index=1;
var val=$("#color_name_"+index).val();
console.log( '****' +val);
};
</script>
</head>
<body>
<button onclick="test();return false;">test</button>
<input type="text" id='color_name_1' value='green'>
<input type="text" id='color_name_2' value='blue'>
</body>
<label for="color_name_">Color name : </label>
<input type="text" name="color_name_6" id="color_name_"
class="form-control" required="required" value="orange" />