我是JavaScript和jQuery的新手。我想显示一个combobox-A,这是一个HTML <选择>与其选择的id和内容在onChange()的其他地方。

如何通过其选择id完整的组合框,以及如何通过onChange事件的其他参数?


当前回答

在某些情况下,另一种方便的方法是将所选<option />的值直接传递给函数,如下所示:

myFunction(selected) { console.log(选择); } <选择onChange = " myFunction (this.options [this.selectedIndex] value)" > <option value="1">Text 1</option> . <option value="2">Text 2</option> . < /选择>

其他回答

jQuery的解决方案

我如何得到一个选定的选项的文本值

选择元素通常有两个要访问的值。 首先是要发送给服务器的值,这很简单:

$( "#myselect" ).val();
// => 1

第二个是选择的文本值。 例如,使用以下选择框:

<select id="myselect">
  <option value="1">Mr</option>
  <option value="2">Mrs</option>
  <option value="3">Ms</option>
  <option value="4">Dr</option>
  <option value="5">Prof</option>
</select>

如果你想获得字符串“Mr”,如果选择了第一个选项(而不是“1”),你可以用下面的方式来做:

$( "#myselect option:selected" ).text();
// => "Mr"  

另请参阅

.瓦尔()金刚火证件

这段代码一旦我写只是解释onChange事件的选择,你可以将这段代码保存为html,并看到输出它的工作。对你们来说很容易理解。

<html>
    <head>
        <title>Register</title>
    </head>
    <body>
    <script>
        function show(){
            var option = document.getElementById("category").value;
            if(option == "Student")
                  {
                        document.getElementById("enroll1").style.display="block";
                  }
            if(option == "Parents")
                  {
                        document.getElementById("enroll1").style.display="none";
                  }
            if(option == "Guardians")
                  {
                        document.getElementById("enroll1").style.display="none";
                  }
        }
    </script>
            <form action="#" method="post">
                <table>
                    <tr>
                        <td><label>Name </label></td>
                        <td><input type="text" id="name" size=20 maxlength=20 value=""></td>
                    </tr>
                    <tr style="display:block;" id="enroll1">
                        <td><label>Enrollment No. </label></td>
                        <td><input type="number" id="enroll" style="display:block;" size=20 maxlength=12 value=""></td>
                    </tr>
                    <tr>
                        <td><label>Email </label></td>
                        <td><input type="email" id="emailadd" size=20 maxlength=25 value=""></td>
                    </tr>
                    <tr>
                        <td><label>Mobile No. </label></td>
                        <td><input type="number" id="mobile" size=20 maxlength=10 value=""></td>
                    </tr>
                    <tr>
                        <td><label>Address</label></td>
                        <td><textarea rows="2" cols="20"></textarea></td>
                    </tr>
                    <tr >
                        <td><label>Category</label></td>
                        <td><select id="category" onchange="show()">    <!--onchange show methos is call-->
                                <option value="Student">Student</option>
                                <option value="Parents">Parents</option>
                                <option value="Guardians">Guardians</option>
                            </select>
                        </td>
                    </tr>
                </table><br/>
            <input type="submit" value="Sign Up">
        </form>
    </body>
</html>

JavaScript解决方案

<select id="comboA">
<option value="">Select combo</option>
<option value="Value1">Text1</option>
<option value="Value2">Text2</option>
<option value="Value3">Text3</option>
</select>
<script>
 document.getElementById("comboA").onchange = function(){
    var value = document.getElementById("comboA").value;
 };
</script>

or

<script>
 document.getElementById("comboA").onchange = function(evt){
    var value = evt.target.value;
 };
</script>

or

<script>
 document.getElementById("comboA").onchange = handleChange;

 function handleChange(evt){
    var value = evt.target.value;
 };
</script>

如何在jQuery中做到这一点:

<select id="yourid">
<option value="Value 1">Text 1</option>
<option value="Value 2">Text 2</option>
</select>

<script src="jquery.js"></script>
<script>
$('#yourid').change(function() {
  alert('The option with value ' + $(this).val() + ' and text ' + $(this).text() + ' was selected.');
});
</script>

你还应该知道Javascript和jQuery是不一样的。jQuery是有效的JavaScript代码,但并不是所有的JavaScript都是jQuery。你应该查找不同之处,并确保你使用的是合适的。

在某些情况下,另一种方便的方法是将所选<option />的值直接传递给函数,如下所示:

myFunction(selected) { console.log(选择); } <选择onChange = " myFunction (this.options [this.selectedIndex] value)" > <option value="1">Text 1</option> . <option value="2">Text 2</option> . < /选择>