jQuery在页面加载时第一次无法正常工作

jQuery is not Working Properly for the first Time on page Load

提问人:Sachin Agrawal 提问时间:7/27/2023 更新时间:7/27/2023 访问量:24

问:

我有一个脚本,我正在通过tempermankey在网站上运行它。该脚本基本上是在输入字段中插入一个数据列表,并根据数据列表选择的值更改其他输入值。

法典:

(function() {
$("bdi:contains('Truck No')").closest('div').next().find('input').attr({
    maxlength: "10",
    Autocomplete: "OFF",
    list: "KASHIPUR",
    Placeholder: "TRUCK NUMBER",
    autocapitalize:"ON"
    }).after('<Datalist ID=KASHIPUR></Datalist>');

 $("bdi:contains('Truck No')").closest('div').next().find('input').blur(function(){
   var val=$("bdi:contains('Truck No')").closest('div').next().find('input').val();
    var obj=$("#KASHIPUR").find("option[value='"+val+"']");
if(obj !=null && obj.length>0||($("bdi:contains('Vehical 
Type')").closest('div').next().find('input').val()==""))


   return false;
        else
             alert("Pls Ask Depot to add the Vehicle Number");
 $("bdi:contains('Truck No')").closest('div').next().find('input').focusin();})

const options = [
["HR74A8784","9760027187"],
["UK18CA6626","7906594792"],
["UK18CA6821","7987481793"]
 ];

jQuery( function($) {
const HTMLOptions = options.reduce((html, item) => {
 html += `<option value="${item[0]}"lebel="${item[1]}"></option>`;
 return html;
  }, "");

$("#KASHIPUR")
.append(HTMLOptions)
$(document).ready(function() {

$("bdi:contains('Truck No')").closest('div').next().find('input').click(function()
{
    var value = $("bdi:contains('Truck No')").closest('div').next().find('input').val();
    ($('#KASHIPUR [value="' + value + '"]').data('value'));
   });
  });

   $(document).on('change', $("bdi:contains('Truck No')").closest('div').next().find('input'), function () {
     $("bdi:contains('Driver Mobile No')").closest('div').next().find('input').val
     ($("#KASHIPUR option[value='" + $("bdi:contains('Truck No')").closest('div').next().find('input').val() + "']").attr("lebel"));
  });
});

第一次加载页面时,URL 为“https://www.eye2serve.com:9001/sap/bc/ui5_ui5/sap/zdca_portal/index.html?saml2=disabled&sap-client=300&sap-language=EN#/Depot-Dispatch-Detail/6527164082”

此时错误出现在以下代码中:-

$("bdi:contains('Truck No')").closest('div').next().find('input').blur(function(){
   var val=$("bdi:contains('Truck No')").closest('div').next().find('input').val();
    var obj=$("#KASHIPUR").find("option[value='"+val+"']");
if(obj !=null && obj.length>0||($("bdi:contains('Vehical 
Type')").closest('div').next().find('input').val()==""))

   return false;
        else
            alert("Pls Ask Depot to add the Vehicle Number");
  $("bdi:contains('Truck No')").closest('div').next().find('input').focusin();})

条件为 true,但页面显示“else”语句并发出警报

当我向后翻页时,URL 是“https://www.eye2serve.com:9001/sap/bc/ui5_ui5/sap/zdca_portal/index.html?saml2=disabled&sap-client=300&sap-language=EN#/Depot-Dispatch-List”

然后再次转发,然后 url 为“https://www.eye2serve.com:9001/sap/bc/ui5_ui5/sap/zdca_portal/index.html?saml2=disabled&sap-client=300&sap-language=EN#/Depot-Dispatch-Detail/6527164082”

在此之后,代码可以正常工作。谁能帮忙。

JavaScript jQuery 验证 TamperMonkey 数据列表

评论


答: 暂无答案