Javascript 更改函数前的默认值
我有一个包含值的简单下拉列表。更改时,值将传递给变量Javascript 更改函数前的默认值,javascript,jquery,Javascript,Jquery,我有一个包含值的简单下拉列表。更改时,值将传递给变量place place值被传递给div,div从api加载数据。在我选择其中一个值后,它会工作,但我的初始值为空 在单击选择列表之前,如何存储默认值 <select name="places"> <option value="135264023">New York</option> <option value="116721348">Los Angeles</option>
place
place
值被传递给div,div从api加载数据。在我选择其中一个值后,它会工作,但我的初始值为空
在单击选择列表之前,如何存储默认值
<select name="places">
<option value="135264023">New York</option>
<option value="116721348">Los Angeles</option>
<option value="104279908">Dubai</option>
</select>
<div id="widget"></div>
<script>
$('select').change(function() {
var place = $(this).val();
console.log(place);
// This call have to happen after div and <script> tag.
widgetOptions({
element: 'widget',
placeId: place,
});
});
</script>
纽约
洛杉矶
迪拜
$('select').change(函数(){
var place=$(this.val();
控制台日志(位置);
//此调用必须在div和tag之后进行。
widgetOptions({
元素:“小部件”,
placeId:place,
});
});
您可以通过添加selected
布尔属性将选项设置为默认值,但我猜您真正的问题是如何在开始时触发加载信息
添加所选的(尽管很可能已经默认为第一个):
我不喜欢使用假事件触发处理程序,但我可以看到它的魅力。这在很大程度上是一种风格选择。
var-place=null;
$('select')。单击(函数(){
if(place==null){
place=$(this.val();
}
});
$('select').change(函数(){
//place=$(this.val();
控制台日志(位置);
//此调用必须在div和tag之后进行。
widgetOptions({
元素:“小部件”,
placeId:place,
});
});代码>
纽约
洛杉矶
迪拜
纽约
或文档。querySelector('[name=“places”]')。selectedIndex=0代码>你的可能复制品读懂了我的心思,我的问题有点迷茫。我在寻找如何在不点击的情况下触发第一个值。这很有魅力!我很喜欢你在回答中提供的信息:)+1
<select name="places">
<option value="135264023" selected>New York</option><!-- Note change -->
<option value="116721348">Los Angeles</option>
<option value="104279908">Dubai</option>
</select>
var sel = $("select"); // You probably want this to be more specific
setupPlace(sel.val());
sel.change(function() {
setupPlace($(this).val());
});
function setupPlace(place) {
console.log(place);
// This call have to happen after div and <script> tag.
widgetOptions({
element: 'widget',
placeId: place,
});
}
$('select').change(function() {
var place = $(this).val();
console.log(place);
// This call have to happen after div and <script> tag.
widgetOptions({
element: 'widget',
placeId: place,
});
}).trigger("change"); // <== Only change is here