我有一个选择列表,更改后,我需要将一个变量设置为true。我已经编写了如下所示的代码。
$(document).ready(function () {
var value = false;
console.log(value) //Get value = false
$("#select").on('change', function(){
value = true;
console.log(value) //Get value = true
});
$("#form").submit(function (e) {
console.log(value) //Get value = undefined
})
})
为什么提交表单后我无法定义。我希望其值为true / false而不是未定义
答案 0 :(得分:4)
$(document).ready(function () {
var value = false;
console.log(value) //Get value = false
$("#select").on('change', function(){
value = true;
console.log(value) //Get value = true
});
$("#form").submit(function (e) {
console.log(value) //Get value = undefined
})
不要在onchange函数内创建新变量
答案 1 :(得分:1)
您缺少尾括号,也可以在onChange方法中使用相同的全局值
$(document).ready(function() {
var value = false; //Global default value
console.log(value) //Get value = false
$("#select").on('change', function() {
value = true; //value changed on change
console.log($('#select').val(), "value on change!")
console.log(value) //Get value = true
});
$("#form").submit(function(e) {
console.log(value) //it will be not undefined
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="form" action="javascript:alert( 'form success!' );">
<select id="select" name="gender">
<option value="0">Select Gender</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
<input type="submit">
</form>
答案 2 :(得分:0)
在文档外部定义“值”变量。如下所示
var value = false;
$(document).ready(function () {
console.log(value) //Get value = false
$("#select").on('change', function(){
value = true;
console.log(value) //Get value = true
});
$("#form").submit(function (e) {
console.log(value) //Get value = undefined
})
谢谢
答案 3 :(得分:0)
解决了.. !!尝试了另一种方式。提交表单后检查select的值。
$(document).ready(function () {
var value = false;
console.log(value) //Get value = false
$("#select").on('change', function(){
value = true;
console.log(value) //Get value = true
});
})
$("#form").submit(function (e) {
var select_value = $("#select").val();
var value = false;
if(select_value == "Female") {
value = true;
}
console.log(value) //Get value = false/true
})
答案 4 :(得分:0)
这肯定会对您的工作有所帮助。请检查
$(document).ready(function () {
var value = false;
$("#myselect").on('change', function(){
value = true;
$("#myselect :selected").val(value);
});
$("#Submitbtn").on("click",function () {
var GetSelectBoxValue= $("#myselect :selected").val();
alert(GetSelectBoxValue);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="myselect" >
<option value="false">one</option>
<option value="false">two</option>
</select>
<input type="button" id="Submitbtn" value="submit"/>