Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
Jquery Chrome扩展-如果值包含特定字符串,请从下拉菜单中选择_Jquery_Google Chrome Extension - Fatal编程技术网

Jquery Chrome扩展-如果值包含特定字符串,请从下拉菜单中选择

Jquery Chrome扩展-如果值包含特定字符串,请从下拉菜单中选择,jquery,google-chrome-extension,Jquery,Google Chrome Extension,如果下拉菜单中包含特定字符串,如何从中选择值? 下拉菜单包含时间值,如10:20、10:25、10:30、10:35、10:40、10:45 我希望选择时间值为XX:15或XX:45的选项(其中XX可以是任意时间) 大概是这样的: $('.option_row_panel', $content).each(function(i) { var minutes = [15,45]; $('.option_row_expiry_list option:contains("' + 15 + '")'

如果下拉菜单中包含特定字符串,如何从中选择值? 下拉菜单包含时间值,如10:20、10:25、10:30、10:35、10:40、10:45

我希望选择时间值为XX:15或XX:45的选项(其中XX可以是任意时间)

大概是这样的:

$('.option_row_panel', $content).each(function(i) {
 var minutes = [15,45];
 $('.option_row_expiry_list option:contains("' + 15 + '")').attr('selected', true);
 $('.option_row_expiry_list option:contains("' + 45 + '")').attr('selected', true);
});
这样,我可以选择想要的选项,但如何使用单行线

谢谢您使用Regex的示例

$('.option_row_expiry_list option').each(function() {
   if($(this).text().match(/\:15/)) {
      $(this).closest('select').val($(this).val());
   }
});

可能有一种方法可以触发所需的事件,以便调用所有附加的事件处理程序

function simulateEvent(eventname, element) {
  var event = new MouseEvent(eventname, {
    'view': window,
    'bubbles': true,
    'cancelable': true
  });
  element.dispatchEvent(event);
}
因此,您可以模拟单击选项以及更改选择(在前面答案的
.each()
中)


因此,您的
选择
是一个
多个
。。。您想选择包含
minutes
数组中提到的分钟数的所有条目吗?我认为你一句话也做不到。。。你为什么要这么做?仅出于性能原因?顺便说一句,您应该使用
.prop()
而不是
.attr()
来设置属性而不是属性。属性可以具有值
true
false
,而属性实际上没有值well。。只有XX:15或XX:45,但决不能两者都有。这么说来,我总是只选一个。是这样吗$('.option_row_expiration_list option:contains(“+15+”)).prop('selected',true);我会将冒号添加到选择器中,以避免在
15:30
分钟
15
$('.option\u row\u expiration\u list option:contains(“:15”)。prop('selected',true)根本无法让它工作..现在这很奇怪。。以devnull69为例,我得到了要选择的正确值,但在单击submit之后,页面再次在选择选项之前选择了一个选项,而不是选择的选项。更奇怪的是,如果我手动选择devnull69的代码以外的其他东西,则选择提交后工作良好的。是否有任何
onchange
(或类似)处理程序?没有。。如果我使用您的代码选择选项,然后选择其他选项,然后再次选择您的代码选择的选项,则该选项将正常工作。奇怪。感觉所选的选项并不是“真的”被选中(只是看起来像是)。。我需要手动选择它以使它真正被选中,然后它就开始工作了。如果($(this).not(':selected'){console.log('nothing selected');}我不确定这是否正确,但这是在代码devnull69之后说“nothing selected”。谢谢devnull69,就这样做了。这确实帮了大忙。
simulateEvent('click', $(this)[0]);
simulateEvent('change', $(this).closest('select')[0]);