我正在使用Python创建GUI
在这个UI中,我有一个下拉列表。用户将选择dropdown和submit的值,该值将反映在Python控制台中
但我无法从JavaScript中获得价值
这是我的Python代码:
from random import randint
import eel
eel.init("web")
# Exposing the random_python function to javascript
@eel.expose
def random_python():
print("Random function running")
return randint(1,100)
@eel.expose
def getList():
lst = ["a","b","c","d"]
return lst
eel.spawn(eel.js_myval()())
eel.start("index.html")
这是我的JavaScript:
let lst =document.getElementById("cate")
document.getElementById("submit").addEventListener("click",()=>{
eel.expose(js_myval)// here i am using eel expose
function js_myval(){
return lst.value;
}
})
这是我的html:
<select name="meesho_category" id="cate">
<option value="x">x</option>
<option value="x">a</option>
<option value="x">b</option>
</select>
我将回答您关于将下拉值从JavaScript传递到Python的狭义问题,并忽略与该问题无关的代码
首先,让我们像这样重写您的JavaScript,以便它关注您的问题:
该JavaScript代码为
btn-submit
按钮定义了一个单击处理程序,它将读取cate
下拉列表的值并将其发送给Python代码接下来,让我们对Python文件进行同样的精简:
这段代码将
on_submit
函数从Python公开到JavaScript。您会注意到它是在上面列出的submit
函数内部的JavaScript块中调用的最后,让我们看看HTML:
此HTML定义了
cate
下拉元素、提交按钮,并导入上面显示的eel.js
和自定义app.js
当应用程序运行时,用户单击submit按钮,Python控制台将向控制台打印
cate
下拉列表的值从示例中的其他代码来看,您似乎想要构建更多的东西。请打开一个新问题,并提供您可能需要的其他帮助
相关问题 更多 >
编程相关推荐