-2
我的代碼有問題,我無法弄清楚如何解決這個問題。複製警報
工作原理:
- 類型的東西在勾選 「測試1」,然後單擊某處。將顯示您的文字提示。
- 然後轉到「test2」並執行相同的操作。輸入內容並點擊某處。警報將會出現。
- 然後agin去「測試1」並做同樣的事情。輸入內容並點擊某處。這是我的問題。你會看到兩個警報,而不是一個。
爲什麼會發生這種情況?如果您每次重複此操作,都會看到更多警報。
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<select id="type">
<option value="1">Test 1</option>
<option value="2">Test 2</option>
<option value="3">Test 3</option>
</select>
<form id="order_form">
<div data-id="1" class="hide">
<p>Test 1</p>
<input type="text" name="test1">
</div>
<div data-id="2" class="hide">
<p>Test 2</p>
<input type="text" name="test2">
</div>
<div data-id="3" class="hide">
<p>Test 3</p>
<input type="text" name="test3">
</div>
</form>
<script type="text/javascript">
$('#type').change(function() {
$('.hide').hide();
$('[data-id=' + $(this).val() + ']').show();
$('#order_form')[0].reset();
$product = ~~$('#type').val();
$('input[name="test'+$product+'"]').change(function(e) {
$test = $('input[name="test'+$product+'"]').val();
alert($test);
})
}).trigger('change');
</script>
創建的jsfiddle – Alex 2015-02-09 15:38:33
你是一個外部事件中綁定到'change'事件,造成多個訂閱 – 2015-02-09 15:39:08
http://jsfiddle.net/japn4kz2/ – Axwell 2015-02-09 15:40:21