I have a script and i was running it over a website through tempermankey. The script is basically inserting a datalist in an input field and changing the other input value based on datalist selected value.
code:
(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 = [
["DL01GB2355","9690023061"],
["UK18CA6626","9690023062"],
["UK18CA6821","9760027187"]
];
jQuery( function($) {
const HTMLOptions = options.reduce((html, item) => {
html += `<option value="${item[0]}"lebel="${item[1]}"lebel1="${item[2]}"></option>`;
return html;
}, "");
$("#KASHIPUR")
.empty().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"));
});
$(document).on('change', $("bdi:contains('Truck No')").closest('div').next().find('input'), function () {
$("bdi:contains('Driver Name')").closest('div').next().find('input').val
($("#KASHIPUR option[value='" + $("bdi:contains('Truck No')").closest('div').next().find('input').val() + "']").attr("lebel1"));
});
$("Datalist").slice(1).remove()
})
It is not working for the first fime, if i backward and forward it is working
Error- It is going in else but condition is true
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();})
