0

我目前可以正常运行,其中下拉列表选择更改将显示一些文本,同时隐藏另一段文本。

更改下拉列表的值时触发的 javascript:

window.DropdownValueChange = function(event) {
var jqueryValue = $(event);
jqueryValue.closest('td').find('p').hide();

var className = '.' + event.options[event.selectedIndex].value + '-class';
jqueryValue.closest('td').find(className).show();
}

HTML 对象已更改:

<p class="male-class">I am a male</p>
<p class="female-class">I am a female</p>

但是,最初呈现 HTML 时并非如此。为什么在加载 UI 时 onchange 函数没有正确触发?

http://jsfiddle.net/djcanseco/duL72/49/

4

1 回答 1

0

onchange没有在页面加载时触发。这可以通过向<p>标签添加可视数据绑定来解决:

 <p class="male-class" data-bind="visible: gender == 'male'">
    I am a male
 </p>
 <p class="female-class" data-bind="visible: gender == 'female'">
    I am a female
 </p>

更新的小提琴

于 2013-03-29T11:39:52.353 回答