我的网页上有一些下拉框。我希望用户一个一个地选择它们,根据此下拉选择的选项更新下一个下拉选项。我使用语义ui,因此它看起来更好并且具有搜索功能。我知道语义ui有一个使下拉列表禁用的类。
我的问题是如何使用javascript启用或禁用下拉菜单。我尝试添加或删除该类,但是它不起作用。还是不可能做到这一点?
<select name="subject" id="subject" class="ui search dropdown disabled" >
<option value="">Subject</option>
</select>
$('#subject').removeClass('disabled');
Run Code Online (Sandbox Code Playgroud) 我有一个具有一对多关系的数据库结构。在html格式中,有类似的输入,其名称为“ item []”或“ file []”,以使数据成为数组
<form action="submit.php" method="get">
Name:<input type="text" name="name"/><br/>
Item:<input type="text" name="item[]"/><br/>
File:<input type="file" name="file[]" multiple/>
Item:<input type="text" name="item[]"/><br/>
File:<input type="file" name="file[]" multiple/>
Select:<select name="select" value="1" original="1">
<option value="1">One</option>
<option value="2">Two</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
我该如何只提交更改的字段,并且在服务器端我可以确认更改了哪个项目?我尝试禁用输入,但似乎不起作用。
另一个问题是,如果我使用ajax提交表单,该如何提交文件
由于我想将 SSR 添加到我即将进行的项目中以改进 SEO,因此我想接下来尝试一下。我想要的是仅在初始页面使用 SSR,站点中的其余导航将是客户端渲染。我认为 getInitialProps 最适合这种情况,相应的文档也是如此。
据我了解, getInitialProps 在服务器中运行以进行初始页面渲染,并在使用 next/link 导航时在浏览器中运行。我发现的问题是 getInitialProps 似乎阻止了页面渲染。(即 getInitialProps 完成后页面更改/渲染)
import axios from 'axios'
function Posts(props) {
return (
<div>
<div>Posts:</div>
<div>
{JSON.stringify(props)}
</div>
</div>
)
}
Posts.getInitialProps = async (context) => {
const response = await axios.get('https://jsonplaceholder.typicode.com/posts');
// Wait longer to see the effect
// await (new Promise((resolve) => {
// setTimeout(resolve, 5000)
// }))
return {
props: {
posts: response.data
}
}
}
export default Posts;
Run Code Online (Sandbox Code Playgroud)
我怎样才能像纯 React 一样,先渲染 jsx,然后填写 props?(执行 …