Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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/js选择添加的选项时,如何向动态数量的选择框添加选项并重定向浏览器?_Javascript_Jquery - Fatal编程技术网

Javascript 当且仅当使用jquery/js选择添加的选项时,如何向动态数量的选择框添加选项并重定向浏览器?

Javascript 当且仅当使用jquery/js选择添加的选项时,如何向动态数量的选择框添加选项并重定向浏览器?,javascript,jquery,Javascript,Jquery,这是我目前拥有的代码。URL验证器之所以存在,是因为它在任何选定的选项上重定向,而我希望重定向被触发的唯一时间是我用jquery添加的选项被单击时 这是我的HTML: <select data-select-size-key="0" id="popular_sizes_0" name="popular_sizes_0">!!OptiONS CONtAINED HERE!!</select> 还有我的JS: var customSizeOption = "<opti

这是我目前拥有的代码。URL验证器之所以存在,是因为它在任何选定的选项上重定向,而我希望重定向被触发的唯一时间是我用jquery添加的选项被单击时

这是我的HTML:

<select data-select-size-key="0" id="popular_sizes_0" name="popular_sizes_0">!!OptiONS CONtAINED HERE!!</select>
还有我的JS:

var customSizeOption = "<option value='"+"https://url.com"+"'>Size Not Listed?</option>";
$("[id^=popular_sizes_]").append(customSizeOption);

function validateURL(textval) {
    var urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
    return urlregex.test(textval);
}

$(function(){
  // bind change event to select
  $("[id^=popular_sizes_]").on('change', function () {
      var url = $(this).val(); // get selected value
      if (validateURL(url)) { // require a URL
          window.location = url; // redirect
      }
      return false;
  });
});


注意:_0自动增加每页最多12个选择框

您的代码工作正常,但选择没有其他选项,因此如果您添加默认空白选项并运行其工作的代码,则不会发生更改事件

<select data-select-size-key="0" id="popular_sizes_0" name="popular_sizes_0">
<option></option>
</select>

现在,如果您更改该选项,验证和重定向工作。

codepen中缺少HTML?已添加到codepen。SorryWell,如果您希望通过JS重定向并选择,而不是通过用户选择,那么对选择执行smth有什么意义?这就是我从问题中所看到的,Title只是为了便于编写代码而选择了这些选项。通过ruby可以生成60个其他选项。