0

当用户从下拉列表中选择一个选项时,我试图更改 span 的值,但这似乎不起作用。

HTML:

<tr>
                    <td class="field" colspan="4">
                    <select id="mmt">
                    <option value="Metric" selected>METRIC</option>
                    <option value="English">ENGLISH</option>
                    </select></td>
                </tr>
                <tr>
                    <td class="head"><label for="abc">ABC</label></td>
                    <td class="field"><input type="text" id="abc"/><span class="m">MM</span> OD</td>
                    <td class="head"><label for="pqr"></label></td>
                    <td class="field"><input type="text" id="pqr" /><span class="ms">MM</span></td>
                </tr>
                <tr>
                    <td class="head"><label for="xyz">XYZ</label></td>
                    <td class="field"><input type="text"  id="xyz" /></td>
                    <td class="head"><label for="stu"></label></td>
                    <td class="field"><input type="text" id="stu"/><span class="ms">MM</span></td>
                </tr>

jQuery:

$(function() {          
                    $('#mmt').change(function() {
                        if ($('#mmt option:selected').text() == "English") {
                            $('.ms').text("INCH");
                        }
                        else {
                            $('.ms').text("MM")     
                        }

                    });

        });
4

2 回答 2

3

$('#mmt option:selected').text()将返回"METRIC""ENGLISH",但永远不会"English"

您需要元素的select而不是 selected 的文本内容option
为此使用$('#mmt').val() [docs],或者简单地说$(this).val(), sincethis指的是select元素。

演示

于 2012-04-18T12:01:48.017 回答
0

您需要在此处更新您的 jquery 是解决方案;

$(function() {          
           $('#mmt').change(function() {

           if ($('#mmt option:selected').val() =="English") {
               $('.ms').text("INCH");

               }
           else {
               $('.ms').text("MM")     
           }

          });

        });

你可以检查JSFiddle

于 2012-04-18T12:10:41.663 回答