I need to use result from query only 'value' field and use it to calculate with input value 'input1'. how to do it.
import wixData from 'wix-data';
export function button1_click(event) {
const inID = $w('#idSe').value;
const inValue = $w('#input1').value;
let toInsert = {
"code": inID,
"value": inValue
};
if (inValue > 0) {
const alert = $w('#errorText').hide();
wixData.query("ChamokInventory")
.eq("code", inID)
.find()
.then((results) => {
console.log(results.items); // it show all data. i need only 'value' field.
//and use it to calculate with input1.
});
wixData.insert("ChamokInventory", toInsert)
.then((results) => {
let item = results; //see item below
const alertSuc = $w('#succMsg').show();
})
.catch((err) => {
let errorMsg = err;
});
} else {
const alert = $w('#errorText').show();
}
}
Thank you for help. but i have little problem when use query result and get input element. My input value is texbox number type 'inValue' , but when get value element it convert to string. And when i try to use direct input from query it not contain any data from query insert to DB. import wixData from 'wix-data'; export function button1_click(event) { let values; const inID = $w('#idSe').value; const inValue = $w('#input1').value; //My input value wixData.query("ChamokInventory") .eq("code", inID) .find() .then((results) => { values = results.items[0].value; //save output to values variable console.log(values); ; }); //let sum = inValue+values; //sum before insert but values is convert to string how to fix it let toInsert = { "code": inID, "value": values //try to add direct from query but 'values' is not contain any data //"value": sum };
Hi Shiro,
If you expect to get a single value back as the result you can access it with the following line:
wixData.query("ChamokInventory") .eq("code", inID) .find() .then((results) => { let value = results.items[0].value; console.log(value); //prints the value of the first result ); });
thank you for answer. Value is 30 but output is 30 0 30 how to fix it to 30 only
Hay Shiro,
You can access only the value field using the .value property access.
for instance, the following will print only the values.
wixData.query("ChamokInventory") .eq("code", inID) .find() .then((results) => { let values = results.items.map(_ => _.value) values.forEach(console.log); });