Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery选择id使用字符串但不使用变量_Javascript_Jquery_String_Select - Fatal编程技术网

Javascript jQuery选择id使用字符串但不使用变量

Javascript jQuery选择id使用字符串但不使用变量,javascript,jquery,string,select,Javascript,Jquery,String,Select,我想制作一个脚本,读取每行的供应商名称,并选择包含相同字符串的选项 我不明白为什么我的jQuery脚本的最后两行行为不同 最后一行正在工作(使用[Supplier2]名称选择正确的选项),但仅当我将id作为字符串提供时 即使我将相同的字符串作为变量赋给id,注释掉的行也不起作用。你知道为什么吗 $('#cart_table>tbody>tr')。每个(功能(i){ var-actual_supplier=“[”+$(this).find(“.actual_supplier”).text()+

我想制作一个脚本,读取每行的供应商名称,并选择包含相同字符串的选项

我不明白为什么我的jQuery脚本的最后两行行为不同

最后一行正在工作(使用[Supplier2]名称选择正确的选项),但仅当我将id作为字符串提供时

即使我将相同的字符串作为变量赋给id,注释掉的行也不起作用。你知道为什么吗

$('#cart_table>tbody>tr')。每个(功能(i){
var-actual_supplier=“[”+$(this).find(“.actual_supplier”).text()+”;
var item_id=$('select').attr('id');
警报(item_id);//打印的item_id看起来与id=supplier-selection-254相同
console.log(i,实际供应商,“id=”,项目id);
//----------------------------这不起作用:
//$('select[id=item_id]option:contains(“[Supplier2]”)。prop('selected',true);//此行应该执行此任务,但不知何故不能使用相同的id名称
//----------------------------这是有效的:
$('select[id=supplier-selection-254]选项:包含(“[Supplier2]”)。prop('selected',true);//此行看起来与上面的行相同
});

供应商
项目
[供应商2]
车辆1-[供应商1]
车辆2-[供应商2]
车辆3-[供应商3]

您缺少引号

 $( "select[id='" + item_id + "']" );

'select[id=item\u id]
将item\u id用作文本字符串。您必须像往常一样连接变量才能使用它的实际值。如何连接两个字符串(提示:请参见
actual\u supplier
)?
$(“选择[id=“+item\u id+”)”)你的代码毫无意义。感谢您的帮助,缺少的报价是解决方案。埃里克,你说得对。Select Html元素没有选定的属性。将$('select[id=item_id]选项:contains(“[Supplier2]”)更改为$(“#”+item_id+”选项:contains(“[Supplier2]”)