2017-09-02 81 views
1

當點擊選擇按鈕時,它不會進入功能?這是爲什麼?瀏覽器中的控制檯是空的。你如何獲得選擇按鈕的價值?

HTML:

<select name="field_choice[]" 
     id="field_choice_1" 
     class="form-control field_choice"> 
    <option value="0" >Link</option> 
    <option value="1">Text</option> 
</select> 

JS:

<script type="text/javascript"> 
    $(".field_choice").on("click",function(){ 
     console.log(1); 
    }); 
</script> 
+0

你想要改變,而不是點擊 – epascarello

+0

@epascarello它不起作用 –

+0

我的猜測,你綁定之前元素呈現 – epascarello

回答

0

$(".field_choice").on("change",function(){ 
 
    console.log(1); 
 
});
<select name="field_choice" id="field_choice_1" class="form-control field_choice"> 
 
    <option value="0" >Link</option> 
 
    <option value="1">Text</option> 
 
</select> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

這將是對變化不是點擊。

+0

它應該在窗口後呈現。 onload –

+0

@ElitsaVrancheva查看代碼片段 –

0

將腳本放在身體的最底部。

環繞它有有載功能:

$(document).load(function(){ 
    $(".field_choice").on("change",function(){ 
     console.log(1); 
    }); 

} 
0

$(document).ready(function(){ 
 
$(".field_choice").on("change",function(){ 
 
    console.log($(this).val()); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="field_choice[]" id="field_choice_1" class="form-control field_choice"> 
 
    <option value="0" >Link</option> 
 
    <option value="1">Text</option> 
 
</select>

0

我想你可能需要包裝jQuery的命令

之間
$(function() { 

}); 

這樣,當所有的DOM元素(select,option等)被呈現(=存在)時,你總能確定它們被執行。 如果之前執行了命令,則選擇器不會變換任何.field_count元素,因此將不起作用。

每個「DOM編輯」jQuery命令都應該封裝在這樣的匿名函數中!

1

你不能忘了添加jQuery的,我說,所以當所有的HTML已加載腳本只運行,如果你需要,當你點擊它$(".field_choice").val()

<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 

<script type="text/javascript"> 
    $(document).load(function(){ 
     $(".field_choice").on("click",function(e){ 
      console.log($(".field_choice").val()); 
     }); 
    } 
</script> 
0

onclick值:

點擊指針設備按鈕時,點擊元素上的 會發生onclick事件。該屬性可以用於大多數元素。

onchange

當控制失去輸入焦點並且由於獲得焦點其 值已經被修改時發生onchange事件。

https://www.w3.org/TR/html4/interact/scripts.html

從我可以看到你正在尋找使用onchange獲得選擇列表的值。

你的代碼的工作,但可能不是你打算如何

來獲取值按你的HTML代碼,<option value="0" >Link</option>操作如下:

$(".field_choice").on("change",function(){ 
    console.log($(this).val()); 
}); 

https://jsfiddle.net/88yo1zcy/

爲了獲取文本值操作步驟如下:

$(".field_choice").on("change",function(){ 
    console.log($('option:selected').text()); 
}); 

https://jsfiddle.net/r5dzvjqp/