2012-10-06 35 views
5

Tôi có một ứng dụng jsfiddle dưới đây:Làm thế nào để cho phép nhiều đầu vào khi nhiều nút được lựa chọn

http://jsfiddle.net/ybZvv/5/

Nếu bạn mở jsfiddle, bạn sẽ thấy một điều khiển hàng đầu, trong đó có "Trả lời" nút. Bạn cũng sẽ thấy một số nút thư, nút "Đúng" và nút "False".

Nút "Đúng" và "False" hoạt động hoàn hảo, có nghĩa là nếu người dùng nhấp vào "Đúng" và sau đó nhấp vào "False", nó sẽ thay thế đầu vào văn bản vì bạn không thể có câu trả lời cả "và" Sai ".

Điều này cũng tương tự cho các nút "Có" và "Không".

Nhưng có vấn đề với các nút chữ cái. Nếu bạn bấm vào các nút chữ cái, bạn nhận ra rằng bạn có thể bấm vào nhiều nút thư đó là tốt, nhưng vấn đề là nó thay thế đầu vào văn bản cho những chữ cái đó là không chính xác. Nếu nhiều nút chữ cái được chọn, sau đó nó sẽ hiển thị các đầu vào văn bản cho tất cả các nút thư, không thay thế đầu vào văn bản bằng nút chữ cái mới nhất được chọn.

tôi biết mã dưới đây

_oCurrAnswerContainer.html('');

đổ DIV chứa, vì vậy nó loại bỏ các yếu tố đầu trước khi tạo một hình mới.

Nhưng tôi chỉ muốn điều đó xảy ra giữa các nút "Đúng" và "Sai" và nút "Có" và "Không". Nếu bạn chọn các nút chữ cái mutliple, nó không được để trống vùng chứa:

Nếu nút A, C và E được bật, thì nhập văn bản A, C và E, nếu E được tắt, sau đó nhập văn bản cho E bị xóa.

Trả lời

0

Tôi đoán bạn muốn nối thêm. Tại sao bạn không thể tạo mã theo cách này?

_oCurrAnswerContainer.html(_oCurrAnswerContainer.html() + '' + NewContents); 

Nối nó. Tôi không chắc, vì tôi không hiểu câu hỏi.

+0

Ý tôi là những gì tôi muốn làm là nếu nó là "True" hoặc "False" nút hoặc nếu nó là "Có" hoặc nút "Không", sau đó thực hiện mã '_oCurrAnswerContainer.html ('');'. Nhưng nếu đó là nút thư thì hãy thực hiện 'oCurrAnswerContainer.html (_oCurrAnswerContainer.html() + '' + NewContents); Điều này có khả thi không? – user1723760

+0

OK. Chờ đã .. Lemme kiểm tra và cho phép bạn cập nhật. –

0

Dường như giải pháp là liên tục kiểm tra các chữ cái được chọn, mỗi lần người dùng thực hiện lựa chọn hoặc bỏ chọn một chữ cái.

Ví dụ:

<script type='text/javascript'> 

    var checkboxes = $('form > p > input:checkbox'); 

    // updates the text input with the selected values... 
    var update = function() { 
     var values = []; 

     $('form > p > input:checked').each(function(idx, cb) { 
      values.push($(this).val()); 
     }); 

     $('#foo').val(values.join(', ')); 
    }; 

    // count the number of selected items... 
    var count = function() { 
     var n = $("input:checked").length; 
     $("div").text([n, 'box selected!'].join(' ')); 
    }; 

    // bind to the checkbox for clicks 
    // update the input field 
    // count the number of selected items 
    $(checkboxes).on('click', function(e) { 
     update(); 
     count(); 
    }); 

    update(); 

    count(); 
</script> 

Xem gist này cho một ví dụ làm việc

Các vấn đề liên quan